/* TradeBot Pro Dashboard CSS */
:root{
  --bg:#090c12;--card:#0f1520;--card2:#141b28;
  --border:#1a2236;--border2:#243049;
  --accent:#F0B90B;--green:#16c784;--red:#f6465d;
  --blue:#378ADD;--yellow:#F0B90B;
  --muted:#3d4f6a;--text:#dce5f0;--text2:#7a90aa;--text3:#4a607a;
  --mono:'JetBrains Mono',monospace;--sans:'Syne',sans-serif;
  --r:12px;--r-sm:8px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:var(--sans);padding:1.25rem 1rem 3rem;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:900px;margin:0 auto;}

/* Header */
.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem;}
.header-left{display:flex;align-items:center;gap:.75rem;}
.logo-icon{width:40px;height:40px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#0a0d12;flex-shrink:0;}
.logo-title{font-size:1.1rem;font-weight:800;color:#fff;}
.logo-sub{font-size:.75rem;color:var(--text2);}
.header-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.status-badge{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;padding:.35rem .75rem;border-radius:20px;}
.status-active{background:#16c78418;color:var(--green);border:1px solid #16c78440;}
.status-stopped{background:#f6465d18;color:var(--red);border:1px solid #f6465d40;}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.btn-refresh,.btn-settings{display:flex;align-items:center;gap:.35rem;font-size:.78rem;padding:.35rem .75rem;border-radius:var(--r-sm);border:1px solid var(--border2);color:var(--text2);background:transparent;cursor:pointer;font-family:var(--sans);}
.btn-refresh:hover,.btn-settings:hover{border-color:var(--accent);color:var(--accent);text-decoration:none;}

/* Alerts */
.alert-box{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;border-radius:var(--r-sm);font-size:.82rem;line-height:1.55;margin-bottom:1rem;}
.alert-danger{background:#f6465d0c;border:1px solid #f6465d30;color:#e88;}
.alert-info{background:#378ADD0c;border:1px solid #378ADD30;color:#7ab8e8;}
.alert-ok{background:#16c7840c;border:1px solid #16c78430;color:var(--green);}

/* Metrics */
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:1rem;}
@media(max-width:600px){.metrics-grid{grid-template-columns:1fr 1fr;}}
.metric-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:1rem;}
.mc-label{font-size:.7rem;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:.4rem;}
.mc-value{font-size:1.3rem;font-weight:700;color:var(--text);line-height:1;}
.mc-sub{font-size:.72rem;margin-top:.3rem;color:var(--text2);}
.green{color:var(--green)!important;}
.red{color:var(--red)!important;}
.yellow{color:var(--yellow)!important;}

/* Rules strip */
.rules-strip{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem;}
.rule-pill{display:flex;align-items:center;gap:.4rem;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:.3rem .75rem;}
.rp-label{font-size:.68rem;color:var(--text2);}
.rp-val{font-size:.72rem;font-weight:700;color:var(--text);font-family:var(--mono);}

/* Two col layout */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;}
@media(max-width:640px){.two-col{grid-template-columns:1fr;}}

/* Panel */
.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:1rem 1.25rem;margin-bottom:.75rem;}
.panel-title{font-size:.72rem;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.85rem;}

/* Pairs table */
.pairs-table{width:100%;border-collapse:collapse;font-size:.8rem;}
.pairs-table th{font-size:.65rem;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;padding:.4rem .5rem;border-bottom:1px solid var(--border);text-align:left;}
.pairs-table td{padding:.55rem .5rem;border-bottom:1px solid var(--border);}
.pairs-table tr:last-child td{border-bottom:none;}
.pairs-table tr.row-active td{background:#16c78406;}
.pair-name{font-weight:600;color:var(--text);}
.type-badge{font-size:.62rem;padding:2px 6px;border-radius:4px;font-weight:600;}
.type-micro{background:#1D9E7520;color:#1D9E75;}
.type-large{background:#185FA520;color:#185FA5;}
.mono{font-family:var(--mono);font-size:.78rem;}
.pos-badge{font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:4px;}
.pos-green{background:#16c78418;color:var(--green);}
.pos-red{background:#f6465d18;color:var(--red);}
.pos-none{color:var(--text3);font-size:.75rem;}

/* Position cards */
.position-card{background:var(--card2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.85rem;margin-bottom:.5rem;}
.position-card:last-child{margin-bottom:0;}
.pos-card-green{border-left:2px solid var(--green);}
.pos-card-red{border-left:2px solid var(--red);}
.pc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;}
.pc-sym{font-size:.88rem;font-weight:700;color:var(--text);}
.pc-pnl{font-size:.8rem;font-weight:700;font-family:var(--mono);}
.pc-details{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;margin-bottom:.6rem;}
.pc-det{font-size:.7rem;}
.pc-det span{color:var(--text2);display:block;margin-bottom:1px;}
.pc-det strong{font-family:var(--mono);}
.pc-bar-wrap{height:6px;background:var(--border);border-radius:20px;position:relative;overflow:hidden;}
.pc-bar-sl{position:absolute;right:50%;top:0;height:100%;background:var(--red);border-radius:20px 0 0 20px;}
.pc-bar-entry{position:absolute;left:50%;top:0;width:2px;height:100%;background:var(--text2);transform:translateX(-50%);}
.pc-bar-tp{position:absolute;left:50%;top:0;height:100%;background:var(--green);border-radius:0 20px 20px 0;}
.pc-bar-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;top:-2px;transform:translateX(-50%);transition:left .4s;}

/* Empty state */
.empty-state{text-align:center;padding:2rem 1rem;color:var(--text2);font-size:.85rem;}
.empty-state svg{display:block;margin:0 auto .75rem;}
.empty-sub{font-size:.75rem;color:var(--text3);margin-top:.3rem;}

/* Log viewer */
.log-viewer{font-family:var(--mono);font-size:.74rem;line-height:1.9;max-height:220px;overflow-y:auto;}
.log-line{padding:1px 0;}
.log-empty{color:var(--text3);font-size:.8rem;padding:.5rem 0;}
.log-ok{color:var(--green);}
.log-warn{color:var(--yellow);}
.log-err{color:var(--red);}
.log-normal{color:var(--text2);}

/* Footer */
.footer{text-align:center;font-size:.74rem;color:var(--text3);margin-top:1.5rem;}
.footer a{color:var(--text2);}

/* Settings specific */
.sfield{margin-bottom:.75rem;}
.sfield label{display:block;font-size:.7rem;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem;}
.sfield input,.sfield select{width:100%;background:#0a0f18;border:1px solid var(--border);border-radius:var(--r-sm);padding:.6rem .85rem;color:var(--text);font-size:.88rem;font-family:var(--mono);outline:none;transition:border .2s;}
.sfield input:focus,.sfield select:focus{border-color:var(--accent);}
.sfield-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;}
.stoggle{margin:.25rem 0 .75rem;}
.stoggle-label{display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:var(--text2);cursor:pointer;}
.stoggle-label input{width:auto;accent-color:var(--accent);}
.btn-save{width:100%;padding:.85rem;background:var(--accent);border:none;border-radius:var(--r-sm);font-size:.95rem;font-weight:700;color:#0a0d12;cursor:pointer;font-family:var(--sans);}
.btn-save:hover{background:#d4a20a;}
.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;}
.action-btn{padding:.7rem;border:1px solid var(--border);border-radius:var(--r-sm);background:transparent;font-size:.82rem;font-weight:600;cursor:pointer;font-family:var(--sans);color:var(--text);}
.action-green{border-color:#16c78440;color:var(--green);}
.action-green:hover{background:#16c78410;}
.action-gray:hover{background:var(--card2);}
.action-blue{border-color:#378ADD40;color:var(--blue);}
.action-blue:hover{background:#378ADD10;}
.action-yellow{border-color:#F0B90B40;color:var(--yellow);}
.action-yellow:hover{background:#F0B90B10;}
.cron-tip{font-size:.75rem;color:var(--text2);margin-bottom:.6rem;}
.cron-display{background:#0a0f18;border:1px solid var(--border);border-radius:var(--r-sm);padding:.7rem .9rem;font-family:var(--mono);font-size:.74rem;color:var(--green);word-break:break-all;line-height:1.6;}
