/* ── PolyTrader Pro v2 — Dark Trading Terminal Theme ── */

:root {
  --bs-body-bg:      #0d0f14;
  --bs-body-color:   #d4d8e0;
  --card-bg:         #13171f;
  --card-border:     #1e2530;
  --stat-bg:         #161b24;
  --orange:          #fd7e14;
}

body {
  background: var(--bs-body-bg);
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  font-size: 0.875rem;
}

/* ── Navbar ── */
.navbar { box-shadow: 0 1px 0 rgba(255,255,255,0.05); }
.navbar-brand { letter-spacing: 0.5px; font-size: 1rem; }

/* ── Cards ── */
.card {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: 6px;
}
.card-header {
  background: #0f1319;
  border-bottom: 1px solid var(--card-border);
  padding: 0.6rem 1rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: #a0aab8;
}

/* ── Stat Cards ── */
.stat-card {
  background: var(--stat-bg);
  border: 1px solid var(--card-border);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  height: 100%;
}
.stat-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #6b7789;
  margin-bottom: 0.2rem;
}
.stat-value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

/* ── Tables ── */
.table { color: var(--bs-body-color); }
.table-hover tbody tr:hover { background: rgba(255,255,255,0.03); }
.table th {
  color: #7d8fa8;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-color: var(--card-border);
}
.table td { border-color: #181e28; vertical-align: middle; }
.table-dark th { background: #0a0d12; }

/* Highlight rows that have an edge ≥ threshold */
tr.scanner-row.edge-row td:first-child {
  border-left: 3px solid #4ade80;
}
tr.scanner-row.edge-row {
  background: rgba(74, 222, 128, 0.04);
}

.market-link {
  color: #d4d8e0;
  text-decoration: none;
}
.market-link:hover {
  color: #38bdf8;
  text-decoration: underline;
}

/* ── Buttons ── */
.btn-xs {
  padding: 0.15rem 0.5rem;
  font-size: 0.72rem;
  border-radius: 3px;
  line-height: 1.4;
}

/* ── Badges ── */
.bg-orange { background-color: var(--orange) !important; }

/* ── Forms ── */
.form-control, .form-select {
  background: #0f1319;
  border-color: #252d3a;
  color: #d4d8e0;
  font-size: 0.82rem;
}
.form-control:focus, .form-select:focus {
  background: #111620;
  border-color: #3d84f7;
  color: #e8ecf4;
  box-shadow: 0 0 0 0.15rem rgba(61,132,247,0.2);
}
.form-control::placeholder { color: #3d4a5a; }
.form-label { font-size: 0.78rem; color: #8090a8; margin-bottom: 0.25rem; }

/* ── Alerts ── */
.alert { border-radius: 5px; font-size: 0.82rem; }
.alert-dark {
  background: #111620;
  border-color: #252d3a;
  color: #9aabb8;
}

/* ── Modal ── */
.modal-content {
  background: #13171f;
  border: 1px solid #252d3a;
}
.modal-header {
  border-bottom-color: #1e2530;
  padding: 0.75rem 1rem;
}
.modal-footer { border-top-color: #1e2530; }

/* ── Pre / code ── */
pre { background: #0a0d12; border-color: #252d3a; color: #4ade80; font-size: 0.78rem; }
code { color: #7dd3fc; font-size: 0.82em; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #0d0f14; }
::-webkit-scrollbar-thumb { background: #252d3a; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #3d4a5a; }

/* ── DataTables override ── */
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
  background: #0f1319;
  border-color: #252d3a;
  color: #d4d8e0;
  border-radius: 4px;
  padding: 0.2rem 0.4rem;
}
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label { color: #6b7789; font-size: 0.78rem; }
.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: #7d8fa8 !important;
  border-radius: 4px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: #1d2a3a !important;
  border-color: #252d3a !important;
  color: #d4d8e0 !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: #1a1f2a !important;
  border-color: #252d3a !important;
  color: #d4d8e0 !important;
}

/* ── Responsive ── */
@media (max-width: 576px) {
  .stat-value { font-size: 1.05rem; }
  .card-header { padding: 0.5rem 0.75rem; }
}

/* ── Utility ── */
.font-monospace { font-family: 'JetBrains Mono', 'Fira Code', monospace; }
.text-success { color: #4ade80 !important; }
.text-danger  { color: #f87171 !important; }
.text-warning { color: #facc15 !important; }
.text-info    { color: #38bdf8 !important; }
