/* ==================== ARB SCANNER — ОБЩИЕ СТИЛИ ==================== */

:root{
  --bg:#0d1117; --panel:#161b22; --panel2:#1c2230; --border:#2a3140;
  --text:#e6edf3; --muted:#8b949e;
  --green:#3fb950; --yellow:#d29922; --red:#f85149;
  --orange:#db6d28; --blue:#58a6ff; --accent:#1f6feb; --purple:#a371f7;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;height:100%;}
body{
  background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:13px;
}
body.flex{display:flex;flex-direction:column;overflow:hidden;}

/* Числа — моноширинный без перечёркнутого нуля */
.mono,
.num,
.metric .value,
.spread,
.zscore,
.timer,
.big-spread,
.big-sub,
.row .v,
.stat-value,
.rate .v,
.threshold .v,
.ob-level,
.ob-spread,
.ob-ticker,
.event .time,
.chart-tooltip {
  font-family: "DejaVu Sans Mono", "Liberation Mono", "Courier New", monospace;
}

/* ==================== HEADER ==================== */
header{
  height:52px;background:var(--panel);border-bottom:1px solid var(--border);
  display:flex;align-items:center;padding:0 16px;gap:14px;flex:0 0 auto;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.5px;}
.logo-dot{width:10px;height:10px;border-radius:50%;background:var(--green);
  box-shadow:0 0 8px var(--green);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.spacer{flex:1;}

.nav-link{color:var(--muted);text-decoration:none;padding:6px 12px;
  border:1px solid var(--border);border-radius:6px;font-size:12px;transition:.15s;}
.nav-link:hover{color:var(--text);border-color:var(--accent);}

/* ==================== STATUS BADGE ==================== */
.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;
  border-radius:12px;font-size:11px;font-weight:600;}
.status-badge.connected{background:rgba(63,185,80,.15);color:var(--green);}
.status-badge.disconnected{background:rgba(248,81,73,.15);color:var(--red);}
.status-badge .d{width:6px;height:6px;border-radius:50%;background:currentColor;}

/* ==================== БАЗОВЫЕ КНОПКИ ==================== */
.btn{
  padding:10px 18px;background:var(--accent);color:#fff;border:none;
  border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;
  font-family:inherit;transition:.15s;
}
.btn:hover{background:#3b82f6;}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--border);}
.btn.secondary:hover{border-color:var(--accent);}
.btn.demo-btn{background:var(--purple);}
.btn.demo-btn:hover{background:#b794f6;}

/* ==================== TOAST ==================== */
.toast{
  position:fixed;bottom:30px;left:50%;transform:translateX(-50%);
  background:var(--panel2);color:var(--text);padding:12px 24px;
  border-radius:8px;border:1px solid var(--border);font-size:13px;
  z-index:9999;opacity:0;transition:opacity .2s;
}
.toast.show{opacity:1;}
.toast.error{border-color:rgba(248,81,73,.5);color:var(--red);}

/* ==================== SCROLLBAR ==================== */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:#3a4353;}

/* ==================== HEADER ==================== */
header{
  height:52px;background:var(--panel);border-bottom:1px solid var(--border);
  display:flex;align-items:center;padding:0 16px;gap:14px;flex:0 0 auto;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.5px;}
.spacer{flex:1;}
