:root { --primary-color: #0d6efd; --primary-gradient: linear-gradient(135deg, #0d6efd 0%, #0dcaf0 100%); --bg-dark: #0b0e14; --bg-subtle: #161b22; --border-color: rgba(255, 255, 255, 0.1); --text-main: #f0f6fc; --text-secondary: #8b949e; } body { background-color: var(--bg-dark); color: var(--text-main); font-family: 'Plus Jakarta Sans', sans-serif; overflow-x: hidden; min-height: 100vh; } /* Sidebar Styling */ #sidebar-wrapper { min-height: 100vh; width: 280px; transition: margin 0.25s ease-out; background-color: var(--bg-subtle) !important; } #sidebar-wrapper .sidebar-heading { padding: 2rem 1.5rem; font-size: 1.25rem; } #sidebar-wrapper .list-group { width: 100%; } #sidebar-wrapper .list-group-item { color: var(--text-secondary); transition: all 0.2s ease; border: none !important; margin: 0.25rem 1rem; padding: 0.75rem 1rem; } #sidebar-wrapper .list-group-item:hover { color: var(--text-main); background-color: rgba(255, 255, 255, 0.05) !important; } #sidebar-wrapper .list-group-item.active { background-color: var(--primary-color) !important; color: white; } /* Page Content Styling */ #page-content-wrapper { min-width: 0; width: 100%; background-color: var(--bg-dark); } /* Custom Utilities */ .text-gradient { background: var(--primary-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .tracking-wider { letter-spacing: 0.1em; } .min-vh-75 { min-height: 75vh; } /* App Sections */ .app-section { animation: fadeIn 0.4s ease-out forwards; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Cards & Components */ .card { background-color: var(--bg-subtle); border: 1px solid var(--border-color); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); transition: transform 0.2s ease, border-color 0.2s ease; } .card:hover { border-color: var(--primary-color); } .bg-dark-subtle { background-color: var(--bg-subtle) !important; } .border-secondary { border-color: var(--border-color) !important; } /* Range Input Customization */ .custom-range::-webkit-slider-runnable-track { background: rgba(255, 255, 255, 0.1); height: 8px; border-radius: 4px; } .custom-range::-webkit-slider-thumb { background: var(--primary-color); border: 3px solid #fff; width: 20px; height: 20px; margin-top: -6px; box-shadow: 0 0 10px rgba(13, 110, 253, 0.5); } /* Hover Effects */ .nav-link { cursor: pointer; } /* Stats */ .stat-card { background: rgba(255, 255, 255, 0.03); padding: 1rem; border-radius: 1rem; border: 1px solid var(--border-color); } /* Chart Styles */ .chart-container { position: relative; width: 100%; margin-top: 2rem; } /* Responsive */ @media (max-width: 991.98px) { #sidebar-wrapper { margin-left: -280px; } #wrapper.toggled #sidebar-wrapper { margin-left: 0; } } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: var(--bg-dark); } ::-webkit-scrollbar-thumb { background: var(--bg-subtle); border-radius: 10px; border: 2px solid var(--bg-dark); } ::-webkit-scrollbar-thumb:hover { background: var(--text-secondary); }