/* ═════════════════════════════════════════════════════════════
 * RIA Intelligence Navigator — Dashboard Styles
 * Dense, analytics-first layout. No marketing hero sections.
 *
 * Light mode by default; adapts to dark mode via the site-wide
 * .dark-theme / [data-theme="dark"] toggle — same as all V2 pages.
 * Uses CSS variables from app-shell.css.
 * ═════════════════════════════════════════════════════════════ */

/* Pane override — MUST be outside @layer to beat
   the unlayered .v2-tool-pane rules in v2-overlay.css */
#v2-ria-navigator.v2-tool-pane.active {
  display: block !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: 100%;
}

/* ── ZONE A: Top Bar ──────────────────────────────────────── */
.ria-nav__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: var(--card-bg, #ffffff);
  border-bottom: 1px solid var(--card-border, #E5E7EB);
  gap: 12px;
}

.ria-nav__topbar-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ria-nav__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-strong, #1F2937);
  margin: 0;
  letter-spacing: -0.2px;
}

.ria-nav__badge {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--accent, #0964A0);
  background: color-mix(in srgb, var(--accent, #0964A0) 12%, transparent);
  padding: 2px 7px;
  border-radius: 4px;
}

.ria-nav__topbar-right {
  display: flex;
  align-items: center;
  gap: 6px;
}

.ria-nav__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted, #6B7280);
  background: transparent;
  border: 1px solid var(--card-border, #D1D5DB);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}
.ria-nav__action-btn:hover {
  color: var(--text-strong, #1F2937);
  border-color: var(--muted, #9CA3AF);
  background: var(--bg-offset, #F3F4F6);
}
.ria-nav__action-btn--primary {
  background: var(--accent, #0964A0);
  border-color: var(--accent, #0964A0);
  color: #ffffff;
}
.ria-nav__action-btn--primary:hover {
  background: var(--accent-weak, #2B82B6);
  border-color: var(--accent-weak, #2B82B6);
  color: #ffffff;
}

/* ── ZONE B: Filter Rail ──────────────────────────────────── */
.ria-nav__filters {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  padding: 12px 16px;
  background: var(--card-bg, #ffffff);
  border-bottom: 1px solid var(--card-border, #E5E7EB);
  flex-wrap: wrap;
  min-height: 56px;
  box-sizing: border-box;
}

.ria-nav__filter-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ria-nav__filter-item--end {
  margin-left: auto;
}

.ria-nav__filter-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--muted, #6B7280);
}

.ria-nav__filter-select {
  min-width: 140px;
  padding: 5px 28px 5px 8px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text, #374151);
  background: var(--bg-elev, #ffffff);
  border: 1px solid var(--border, #D1D5DB);
  border-radius: 5px;
  outline: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236B7280'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  cursor: pointer;
  transition: border-color 0.15s;
}
.ria-nav__filter-select:hover { border-color: var(--accent, #0964A0); }
.ria-nav__filter-select:focus { border-color: var(--accent, #0964A0); box-shadow: 0 0 0 2px rgba(9,100,160,0.15); }
.ria-nav__filter-select:disabled { opacity: 0.4; cursor: not-allowed; }

.ria-nav__reset-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted, #6B7280);
  background: transparent;
  border: 1px solid var(--border, #D1D5DB);
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.15s;
}
.ria-nav__reset-btn:hover {
  color: var(--text-strong, #1F2937);
  border-color: var(--muted, #9CA3AF);
}

/* ── ZONE C: Dashboard Main ───────────────────────────────── */
.ria-nav__main {
  padding: 12px 16px 40px;
}

.ria-nav__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px;
  color: var(--muted, #6B7280);
  font-size: 13px;
}
.ria-nav__loading i { color: var(--accent, #0964A0); font-size: 18px; }

/* ── Row 1: KPI Cards ─────────────────────────────────────── */
.ria-nav__kpi-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

@media (min-width: 1400px) {
  .ria-nav__kpi-row { grid-template-columns: repeat(8, 1fr); }
}
@media (max-width: 1024px) {
  .ria-nav__kpi-row { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 640px) {
  .ria-nav__kpi-row { grid-template-columns: repeat(2, 1fr); }
}

.ria-nav__kpi {
  background: var(--card-bg, #ffffff);
  border: 1px solid var(--card-border, #E5E7EB);
  border-radius: 8px;
  padding: 14px 12px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.ria-nav__kpi:hover {
  border-color: var(--accent, #0964A0);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent, #0964A0) 15%, transparent);
}

.ria-nav__kpi-icon { font-size: 18px; margin-bottom: 6px; }
.ria-nav__kpi-value {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-strong, #1F2937);
  line-height: 1.2;
}
.ria-nav__kpi-asterisk {
  font-size: 14px;
  color: var(--accent, #0964A0);
  margin-left: 2px;
  cursor: help;
  font-weight: 700;
  top: -0.35em;
}
.ria-nav__kpi-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted, #6B7280);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-top: 4px;
}
.ria-nav__kpi-sub {
  font-size: 10px;
  color: var(--muted, #9CA3AF);
  margin-top: 2px;
}

/* ── Row 2: Chart Row ─────────────────────────────────────── */
.ria-nav__chart-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

@media (max-width: 1024px) {
  .ria-nav__chart-row { grid-template-columns: 1fr; }
}

.ria-nav__chart-body {
  padding: 8px;
  min-height: 280px;
}

.ria-nav__chart {
  width: 100%;
  height: 100%;
  min-height: 260px;
}

/* ── Row 3: Signal Tables ─────────────────────────────────── */
.ria-nav__signal-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

@media (max-width: 900px) {
  .ria-nav__signal-row { grid-template-columns: 1fr; }
}

.ria-nav__grid {
  width: 100%;
  min-height: 300px;
}

/* AG Grid header styling within this module */
#v2-ria-navigator .ag-theme-balham .ag-header-cell-text {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.ria-nav__flag-badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 600;
  color: #ffffff;
  border-radius: 3px;
  white-space: nowrap;
}

/* ── Row 4: Teaser Row ────────────────────────────────────── */
.ria-nav__teaser-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (max-width: 900px) {
  .ria-nav__teaser-row { grid-template-columns: 1fr; }
}

.ria-nav__teaser-body {
  padding: 12px 16px;
  min-height: 0 !important;
}

.ria-nav__teaser-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  margin-bottom: 10px;
}

.ria-nav__teaser-table thead th {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--muted, #6B7280);
  padding: 6px 8px;
  text-align: left;
  border-bottom: 1px solid var(--card-border, #E5E7EB);
}
.ria-nav__teaser-table thead th:nth-child(3),
.ria-nav__teaser-table thead th:nth-child(4) { text-align: right; }

.ria-nav__teaser-table tbody td {
  padding: 5px 8px;
  border-bottom: 1px solid var(--card-border, #E5E7EB);
  color: var(--text, #374151);
}

.ria-nav__teaser-ticker {
  font-weight: 700;
  color: var(--accent, #0964A0);
}

.ria-nav__teaser-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--accent, #0964A0);
  text-decoration: none;
  padding: 4px 0;
  transition: color 0.15s;
}
.ria-nav__teaser-cta:hover { color: var(--accent-weak, #2B82B6); }
.ria-nav__teaser-cta i { font-size: 9px; }

/* ── Dark Mode Overrides ──────────────────────────────────── */

/* Top bar */
.dark-theme .ria-nav__topbar {
  background: #111520 !important;
  border-color: #1e2433 !important;
}
.dark-theme .ria-nav__title {
  color: #e6e9f0 !important;
}
.dark-theme .ria-nav__badge {
  color: #818cf8 !important;
  background: rgba(99,102,241,.12) !important;
}
.dark-theme .ria-nav__action-btn {
  color: #8b92a5 !important;
  border-color: #252d3d !important;
  background: transparent !important;
}
.dark-theme .ria-nav__action-btn:hover {
  color: #e6e9f0 !important;
  border-color: #6b7280 !important;
  background: rgba(255,255,255,.04) !important;
}
.dark-theme .ria-nav__action-btn--primary {
  background: #6366f1 !important;
  border-color: #6366f1 !important;
  color: #fff !important;
}
.dark-theme .ria-nav__action-btn--primary:hover {
  background: #4f46e5 !important;
  border-color: #4f46e5 !important;
  color: #fff !important;
}

/* Filter rail */
.dark-theme .ria-nav__filters {
  background: #111520 !important;
  border-color: #1e2433 !important;
}
.dark-theme .ria-nav__filter-label {
  color: #8b92a5 !important;
}
.dark-theme .ria-nav__filter-select,
[data-theme="dark"] .ria-nav__filter-select {
  background-color: #161b26 !important;
  border-color: #252d3d !important;
  color: #e6e9f0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E");
}
.dark-theme .ria-nav__filter-select:hover {
  border-color: #6366f1 !important;
}
.dark-theme .ria-nav__filter-select:focus {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 2px rgba(99,102,241,.2) !important;
}
.dark-theme .ria-nav__reset-btn {
  color: #8b92a5 !important;
  border-color: #252d3d !important;
}
.dark-theme .ria-nav__reset-btn:hover {
  color: #e6e9f0 !important;
  border-color: #6b7280 !important;
}

/* Loading */
.dark-theme .ria-nav__loading {
  color: #8b92a5 !important;
}
.dark-theme .ria-nav__loading i {
  color: #818cf8 !important;
}

/* KPI cards */
.dark-theme .ria-nav__kpi {
  background: #161b26 !important;
  border-color: #1e2433 !important;
  box-shadow: none !important;
}
.dark-theme .ria-nav__kpi:hover {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 1px rgba(99,102,241,.15) !important;
}
.dark-theme .ria-nav__kpi-value {
  color: #e6e9f0 !important;
}
.dark-theme .ria-nav__kpi-label {
  color: #8b92a5 !important;
}
.dark-theme .ria-nav__kpi-sub {
  color: #6b7280 !important;
}
.dark-theme .ria-nav__kpi-icon {
  color: #818cf8 !important;
}

/* V2 cards inside RIA navigator */
.dark-theme #v2-ria-navigator .v2-card {
  background: #111520 !important;
  border-color: #1e2433 !important;
}
.dark-theme #v2-ria-navigator .v2-card__header {
  background: #161b26 !important;
  border-color: #1e2433 !important;
}
.dark-theme #v2-ria-navigator .v2-card__title {
  color: #e6e9f0 !important;
}
.dark-theme #v2-ria-navigator .v2-card__subtitle {
  color: #8b92a5 !important;
}
.dark-theme #v2-ria-navigator .v2-card__body {
  background: #111520 !important;
}

/* Chart body area */
.dark-theme .ria-nav__chart-body {
  background: #111520 !important;
}

/* AG Grid inside RIA Navigator */
.dark-theme #v2-ria-navigator .ag-theme-balham {
  --ag-background-color: #111520 !important;
  --ag-header-background-color: #161b26 !important;
  --ag-odd-row-background-color: #0e1219 !important;
  --ag-row-hover-color: rgba(255,255,255,.06) !important;
  --ag-border-color: #1e2433 !important;
  --ag-header-foreground-color: #8b92a5 !important;
  --ag-foreground-color: #c4c9d4 !important;
  --ag-secondary-foreground-color: #8b92a5 !important;
  --ag-input-border-color: #252d3d !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-root-wrapper {
  background-color: #111520 !important;
  border-color: #1e2433 !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-header,
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-header-viewport,
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-header-container,
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-header-row {
  background-color: #161b26 !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-header-cell,
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-header-group-cell {
  background-color: #161b26 !important;
  color: #8b92a5 !important;
  border-color: #1e2433 !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-row {
  background-color: #111520 !important;
  color: #c4c9d4 !important;
  border-color: #1e2433 !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-row-odd {
  background-color: #0e1219 !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-row:hover,
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-row-hover {
  background-color: rgba(255,255,255,.06) !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-cell {
  color: #c4c9d4 !important;
  border-color: #1e2433 !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-body-viewport {
  background-color: #111520 !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-paging-panel {
  background-color: #161b26 !important;
  color: #8b92a5 !important;
  border-color: #1e2433 !important;
}
.dark-theme #v2-ria-navigator .ag-theme-balham .ag-icon {
  color: #8b92a5 !important;
}

/* Firm name links in grid */
.dark-theme #v2-ria-navigator .ag-theme-balham a {
  color: #818cf8 !important;
}

/* Teaser tables */
.dark-theme .ria-nav__teaser-table thead th {
  color: #8b92a5 !important;
  border-color: #1e2433 !important;
}
.dark-theme .ria-nav__teaser-table tbody td {
  color: #c4c9d4 !important;
  border-color: #1e2433 !important;
}
.dark-theme .ria-nav__teaser-ticker {
  color: #818cf8 !important;
}
.dark-theme .ria-nav__teaser-cta {
  color: #818cf8 !important;
}
.dark-theme .ria-nav__teaser-cta:hover {
  color: #a5b4fc !important;
}

/* Teaser body */
.dark-theme .ria-nav__teaser-body {
  background: #111520 !important;
}

/* ── Responsive: topbar collapse ──────────────────────────── */
@media (max-width: 768px) {
  .ria-nav__topbar { flex-wrap: wrap; }
  .ria-nav__topbar-right { width: 100%; justify-content: flex-end; }
  .ria-nav__filters { gap: 10px; }
  .ria-nav__filter-item--end { margin-left: 0; }
  .ria-nav__main { padding: 8px 8px 30px; }
}
