:root {
    --bg-dark: #0B0E14; --panel-bg: #151A22; --border-color: #2A3241;
    --text-main: #E2E8F0; --text-muted: #94A3B8;
    --neon-green: #00FFA3; --neon-red: #FF3366; --neon-blue: #3B82F6; --gold: #FFD700;
}
body { background-color: var(--bg-dark); color: var(--text-main); font-family: 'Inter', sans-serif; font-size: 0.875rem; }
.navbar-custom { background-color: var(--panel-bg); border-bottom: 1px solid var(--border-color); padding: 1rem 2rem; }
.brand-title { font-weight: 800; background: linear-gradient(90deg, #FFF, var(--neon-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.live-indicator { display: inline-block; width: 10px; height: 10px; background-color: var(--neon-green); border-radius: 50%; margin-right: 8px; box-shadow: 0 0 10px var(--neon-green); animation: pulse 2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(0,255,163,0.7); } 70% { box-shadow: 0 0 0 6px rgba(0,255,163,0); } 100% { box-shadow: 0 0 0 0 rgba(0,255,163,0); } }
.action-bar { background-color: var(--panel-bg); border: 1px solid var(--border-color); border-radius: 8px; padding: 1.2rem; margin-bottom: 1.5rem; }

.btn-export { background: transparent; border: 1px solid var(--text-muted); color: var(--text-muted); font-weight: 600; font-size: 0.8rem; }
.btn-export:hover, .btn-export:focus { background: var(--border-color); color: #fff; }
.dropdown-menu-dark { background-color: var(--panel-bg); border: 1px solid var(--border-color); }
.dropdown-item { font-size: 0.8rem; font-weight: 600; color: var(--text-muted); }
.dropdown-item:hover { background-color: var(--border-color); color: #fff; }

.nav-pills .nav-link { color: var(--text-muted); font-weight: 600; border: 1px solid transparent; }
.nav-pills .nav-link.active { background-color: var(--neon-blue); color: #fff; box-shadow: 0 0 15px rgba(59,130,246,0.3); }

/* Table styling and header alignments */
.table-container { background-color: var(--panel-bg); border: 1px solid var(--border-color); border-radius: 8px; padding: 1rem; }
table.dataTable > thead > tr > th { border-bottom: 2px solid var(--border-color); color: var(--text-muted); font-size: 0.75rem; text-transform: uppercase; border-top: 1px solid var(--border-color) !important;}
table.dataTable > tbody > tr > td { border-bottom: 1px solid var(--border-color); padding: 12px 10px; vertical-align: middle; background-color: var(--panel-bg);}
div.dataTables_wrapper div.dataTables_filter input { background-color: var(--bg-dark); border: 1px solid var(--border-color); color: white; }
div.dataTables_wrapper div.dataTables_length select { background-color: var(--bg-dark); border: 1px solid var(--border-color); color: white; }

/* THE MAGIC SCROLLBAR FIX: Keeps the horizontal bar locked to the bottom of the screen! */
.dataTables_scrollBody { max-height: 65vh !important; overflow-y: auto !important; overflow-x: auto !important; }
.dataTables_scrollBody::-webkit-scrollbar { height: 12px; width: 10px; }
.dataTables_scrollBody::-webkit-scrollbar-track { background: var(--bg-dark); border-radius: 4px; }
.dataTables_scrollBody::-webkit-scrollbar-thumb { background: #3B82F6; border-radius: 4px; border: 2px solid var(--bg-dark);}
.dataTables_scrollBody::-webkit-scrollbar-thumb:hover { background: #60A5FA; }

.badge-custom { padding: 5px 8px; border-radius: 4px; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; }
.bg-bullish { background: rgba(0,255,163,0.15); color: var(--neon-green); border: 1px solid rgba(0,255,163,0.3); }
.bg-bearish { background: rgba(255,51,102,0.15); color: var(--neon-red); border: 1px solid rgba(255,51,102,0.3); }
.bg-neutral { background: rgba(148,163,184,0.15); color: var(--text-muted); border: 1px solid rgba(148,163,184,0.3); }
.text-bullish { color: var(--neon-green) !important; font-weight: 600; } .text-bearish { color: var(--neon-red) !important; font-weight: 600; }
.link-tv { color: var(--neon-blue); text-decoration: none; font-weight: 600; font-size: 0.8rem; } .link-tv:hover { color: #fff; }

.info-panel { background: rgba(59,130,246,0.05); border: 1px solid rgba(59,130,246,0.2); border-left: 4px solid var(--neon-blue); border-radius: 6px; padding: 1.2rem; margin-bottom: 1.5rem; font-size: 0.85rem; }
.info-panel h6 { color: var(--neon-blue); font-weight: 700; text-transform: uppercase; font-size: 0.8rem; margin-bottom: 0.8rem; }
.info-panel strong { color: #fff; }
.pro-tip { background: rgba(255, 215, 0, 0.05); border-left: 4px solid var(--gold); padding: 10px; margin-top: 10px; border-radius: 4px; }
.pro-tip-title { color: var(--gold); font-weight: 700; }

.horizontal-scroll { overflow-x: auto; overflow-y: hidden; white-space: nowrap; padding-bottom: 10px; }
.horizontal-scroll::-webkit-scrollbar { height: 8px; }
.horizontal-scroll::-webkit-scrollbar-track { background: var(--bg-dark); border-radius: 4px; }
.horizontal-scroll::-webkit-scrollbar-thumb { background: var(--border-color); border-radius: 4px; }
