/* InvestIQ — Light professional theme */

:root {
  --bg-page:    #f0f4f8;
  --bg-card:    #ffffff;
  --bg-nav:     #1a237e;
  --bg-nav2:    #283593;
  --text-main:  #1a1a2e;
  --text-muted: #5f6880;
  --border:     #d9e1ec;
  --accent:     #1a237e;
  --shadow:     0 1px 4px rgba(0,0,0,.08);
}

body {
  font-family: 'Segoe UI', system-ui, sans-serif;
  background-color: var(--bg-page);
  color: var(--text-main);
}

/* ── Navbar ── */
.navbar { background: var(--bg-nav) !important; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.navbar-brand { color: #fff !important; font-size: 1.1rem; }
.nav-link { color: rgba(255,255,255,.8) !important; }
.nav-link:hover, .nav-link.active { color: #fff !important; font-weight: 600; }
.nav-link.active { border-bottom: 2px solid #ffd54f; }

/* ── Cards ── */
.card {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  box-shadow: var(--shadow);
}
.card-header {
  background: #f7f9fc !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--text-muted) !important;
  font-weight: 600;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-radius: 10px 10px 0 0 !important;
}
.card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.12); transition: box-shadow .15s ease; }

/* ── Tables ── */
.table { color: var(--text-main) !important; }
.table-hover tbody tr:hover { background: #eef2fb !important; }
.table thead th { color: var(--text-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; border-bottom: 2px solid var(--border) !important; background: #f7f9fc; }
.table td, .table th { border-color: var(--border) !important; vertical-align: middle; }
.table-dark { background: transparent !important; }
.table-dark td, .table-dark th { background: transparent !important; }

/* ── Summary metric cards ── */
.metric-value { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.metric-label { font-size: .72rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .25rem; }
.metric-sub   { font-size: .78rem; color: var(--text-muted); margin-top: .15rem; }

/* ── Colour helpers (override Bootstrap dark variants) ── */
.text-warning { color: #e65100 !important; }
.text-success { color: #2e7d32 !important; }
.text-danger  { color: #c62828 !important; }
.text-info    { color: #0277bd !important; }
.text-muted   { color: var(--text-muted) !important; }
.text-primary { color: var(--accent) !important; }

/* ── Recommendation badges ── */
.rec-buy    { background-color: #2e7d32; color: #fff; }
.rec-add    { background-color: #1565c0; color: #fff; }
.rec-hold   { background-color: #f57f17; color: #fff; }
.rec-reduce { background-color: #e65100; color: #fff; }
.rec-sell   { background-color: #c62828; color: #fff; }

.badge.rec-buy, .badge.rec-add, .badge.rec-hold,
.badge.rec-reduce, .badge.rec-sell {
  font-size: .7rem;
  padding: .3em .6em;
  border-radius: 4px;
  font-weight: 700;
}

/* ── Score bar ── */
.score-bar {
  background: linear-gradient(90deg, #c62828 0%, #f57f17 45%, #2e7d32 100%);
}
.score-badge {
  background-color: #e8edf5;
  color: #1a237e;
  border: 1px solid #c5cfe0;
  font-size: .75rem;
  font-weight: 600;
}

/* ── Pipeline status badge ── */
#pipelineStatus { font-size: .72rem; }

/* ── Alert overrides ── */
.alert-warning { background: #fff8e1; border-color: #ffe082; color: #5d4037; }

/* ── Scrollbar ── */
::-webkit-scrollbar       { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #e8edf5; }
::-webkit-scrollbar-thumb { background: #b0bec5; border-radius: 3px; }

/* ── Refresh button ── */
.btn-outline-warning {
  color: #fff !important;
  border-color: rgba(255,255,255,.5) !important;
}
.btn-outline-warning:hover {
  background: rgba(255,255,255,.15) !important;
  border-color: #fff !important;
}

/* ── Filter button active state ── */
.filter-btn.active { box-shadow: 0 0 0 2px var(--accent); }

/* ── Stock symbol link colour ── */
.sym-link { color: var(--accent); font-weight: 600; }
