:root {
  --bg: #f4f6f8;
  --bg-soft: #eef2f5;
  --panel: #ffffff;
  --panel-2: #f8fafb;
  --panel-border: #d7e0e7;
  --panel-shadow: 0 10px 28px rgba(26, 49, 66, 0.09);
  --text: #17212b;
  --text-soft: #344553;
  --muted: #657784;
  --accent: #147a8a;
  --accent-strong: #0d6574;
  --accent-soft: #0f6075;
  --success: #2f7d5a;
  --danger: #b5473c;
  --field: #ffffff;
  --field-border: #c7d3dc;
  --field-border-focus: #147a8a;
  --table-grid: #dce5eb;
  --panel-bg: #ffffff;
  --text-main: #17212b;
  --text-muted: #657784;
  --teal: #147a8a;
  --blue: #316f9f;
  --amber: #a76a16;
  --rose: #b5473c;
  --grid: #dce5eb;
}

body {
  color: var(--text) !important;
  background: linear-gradient(180deg, #f8fafb 0%, var(--bg) 48%, #edf2f5 100%) !important;
}

a { color: var(--accent-strong); }
a:hover { color: #094d5a; }

.navbar,
nav.navbar,
nav[style*="background"] {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid var(--panel-border) !important;
  box-shadow: 0 2px 14px rgba(26, 49, 66, 0.07) !important;
}

.topbar {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: var(--panel-border) !important;
  box-shadow: 0 2px 14px rgba(26, 49, 66, 0.07) !important;
}

.navbar .nav-link,
.navbar .navbar-brand,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link.active {
  color: var(--text) !important;
}

.navbar-toggler { border-color: var(--field-border) !important; }
.navbar-toggler-icon { filter: invert(14%) sepia(14%) saturate(1258%) hue-rotate(161deg) brightness(94%) contrast(90%); }

.brand-beta,
.brand {
  background: none !important;
  -webkit-text-fill-color: currentColor;
  color: var(--accent-strong) !important;
}

.page-hero,
.hero,
.markets-hero,
.dashboard-hero,
.card,
.rail,
.panel-shell,
.metric-card,
.chart-card,
.hero-chip,
.idea-card,
.news-card,
.bullet-list,
.calendar-table,
.payload-shell,
.empty-card,
.plot-panel,
.asset-section,
.group-box,
.bank-rate-group,
.analysis-box,
.winner-strong {
  color: var(--text) !important;
  background: var(--panel) !important;
  border-color: var(--panel-border) !important;
  box-shadow: var(--panel-shadow) !important;
}

.page-hero,
.hero,
.markets-hero,
.dashboard-hero {
  background: linear-gradient(135deg, #ffffff 0%, #eef6f7 100%) !important;
}

.feature {
  color: var(--text) !important;
  background: var(--panel-2) !important;
  border-color: var(--panel-border) !important;
  box-shadow: 0 4px 14px rgba(26, 49, 66, 0.06) !important;
}

.feature:hover {
  color: var(--text) !important;
  background: #e8f3f4 !important;
  border-color: #8ebfc5 !important;
  box-shadow: 0 8px 18px rgba(26, 49, 66, 0.1) !important;
}

.feature-copy,
.chart-caption,
.chart-meta,
.data-meta,
.hero-copy,
.hero p,
.panel-subtitle,
.note-list li,
.footer,
.footer-note,
.chart-title,
.chart-block,
.chart-zoom-hint,
.toplinks a,
.page-hero .lede,
.text-muted,
.form-text,
small,
.small,
label,
legend,
.hint,
.inline-label,
.group-title,
.bank-rate-group-title,
.bank-rate-group-meta,
.bank-rate-value,
.analysis-title,
.hero-chip-label,
.data-label,
.analysis-input label {
  color: var(--muted) !important;
}

h1, h2, h3, h4, h5, h6,
.rail h2,
.terms div span,
.bank-rate-name,
.data-value,
.hero-chip-value,
.panel-title,
.chart-title,
.navbar-brand {
  color: var(--text) !important;
}

.page-hero .eyebrow,
.hero .eyebrow,
.hero-kicker,
.panel-kicker,
.payload-toggle {
  color: var(--accent-strong) !important;
}

.form-control,
.form-select,
textarea,
input,
select,
.analysis-input input,
.analysis-input select,
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-search--dropdown .select2-search__field,
.select2-container--default .select2-search--inline .select2-search__field {
  color: var(--text) !important;
  background: var(--field) !important;
  border-color: var(--field-border) !important;
}

.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus,
select:focus,
.analysis-input input:focus,
.analysis-input select:focus {
  color: var(--text) !important;
  background: var(--field) !important;
  border-color: var(--field-border-focus) !important;
  box-shadow: 0 0 0 0.2rem rgba(20, 122, 138, 0.14) !important;
}

.form-control::placeholder,
textarea::placeholder,
.select2-container--default .select2-selection__placeholder { color: #80909b !important; }

.btn-primary,
.btn-success,
.btn {
  color: #ffffff !important;
  background: var(--accent) !important;
  border-color: var(--accent) !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn:hover {
  color: #ffffff !important;
  background: var(--accent-strong) !important;
  border-color: var(--accent-strong) !important;
}

.btn-outline-secondary,
.btn-secondary {
  color: var(--text) !important;
  background: var(--panel) !important;
  border-color: var(--field-border) !important;
}

.btn-outline-secondary:hover,
.btn-secondary:hover {
  color: var(--accent-strong) !important;
  background: #e8f3f4 !important;
  border-color: #8ebfc5 !important;
}

.chart-canvas,
.chart-modal-body canvas,
.chart-range-btn,
.plot-panel img {
  color: var(--text) !important;
  background: var(--panel-2) !important;
  border-color: var(--panel-border) !important;
}

.chart-range-btn.active,
.chart-range-btn:hover {
  color: #ffffff !important;
  background: var(--accent) !important;
  border-color: var(--accent) !important;
}

.pill.ok { color: var(--success) !important; background: #e8f4ed !important; }
.pill.no { color: var(--danger) !important; background: #fbeceb !important; }
.pill.work { color: var(--accent-strong) !important; background: #e4f2f3 !important; }
.error { color: var(--danger) !important; }

.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--text);
  --bs-table-border-color: var(--table-grid);
  color: var(--text) !important;
}

.table thead th { color: var(--text-soft) !important; }

.select2-dropdown {
  color: var(--text) !important;
  background: var(--panel) !important;
  border-color: var(--field-border) !important;
}

.select2-container--default .select2-results__option,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered,
.select2-container--default .select2-search--inline .select2-search__field {
  color: var(--text) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  color: var(--accent-strong) !important;
  background: #e4f2f3 !important;
  border-color: #b3d8dc !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  color: var(--text) !important;
  background: #e4f2f3 !important;
}

.bg-dark { background: var(--panel-2) !important; }
.text-light, .text-light-emphasis { color: var(--text) !important; }
.border-secondary { border-color: var(--panel-border) !important; }
[style*="background:#111a2b"] { background: var(--panel) !important; border-color: var(--panel-border) !important; }

.chart-zoom-backdrop { background: rgba(23, 33, 43, 0.42) !important; }