/* GLOBAL */ html, body { background: linear-gradient(to bottom, #fdfdfd 0%, #e3e3e3 50%, #e9e9e9 100%); background-attachment: fixed; color: #1e293b; overflow-x: hidden; } h1 { font-weight: bold; letter-spacing: -3px; margin: 0; text-transform: lowercase; } h3 { font-size: 21px; letter-spacing: -1px; } .page-header { border-bottom: 1px solid #e2e8f0; margin: 2.5rem 0 2rem; position: relative; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; } .pagination { margin: 5px 0; } .clickable, .expandable>td { cursor: pointer; } .loading-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .spinner { color: #999; margin-bottom: 10px; } .app-loading-status { color: #999; text-align: center; text-shadow: 1px 1px 0 #FFF; text-transform: uppercase; } .powered { bottom: 190px; color: #9E9E9E; font-size: smaller; position: absolute; right: 20px; transform-origin: 100% 0; transform: rotate(-90deg); } .powered a { color: #636363; } .powered span { color: #007bc3; } .dropdown-header { color: #007bc3; padding: 3px 25px; text-transform: uppercase; } hgroup h2, hgroup small { text-transform: uppercase; } hgroup h2 { letter-spacing: -1px; } /* NAVIGATION - dark base with subtle gradient */ nav { background: linear-gradient(to bottom, #1c1c1c 0%, #171717 50%, #121212 100%); border-color: transparent; height: 100%; left: -236px; overflow: hidden; position: fixed; top: 0; width: 300px; z-index: 2; transition: left .2s; } /* Only apply shadow in light/default mode */ html:not(.dark) nav { box-shadow: 2px 0 12px rgba(0, 0, 0, 0.4); } /* Navigation List */ nav .nav-list { visibility: hidden; display: none; position: absolute; bottom: 0; left: 0; right: -17px; top: 0; overflow-y: scroll; } /* Show Navigation List on Active */ nav.active .nav-list { visibility: visible; display: block; } /* Media Query for Large Screens */ @media only screen and (min-width: 993px) { nav .nav-bars, nav .nav-gears, nav .nav-ws-status { left: 0; position: fixed; top: 1.5rem; transition: opacity .2s; } nav .nav-gears { top: 7.9rem; } nav .nav-ws-status { left: 38px; top: 12.3rem; } nav.active .nav-list { margin-block-start: 0; } } /* Navigation Header */ nav header { margin: 40px 20px 30px; } nav header a { color: rgba(240, 240, 240, 0.9); font-size: 2.7em; font-weight: 300; text-transform: uppercase; } nav header a:hover { color: #ffffff; } /* Active Navigation */ nav.active { display: block !important; left: 0; opacity: .98; } nav.active .nav-bars, nav.active .nav-gears, nav.active .nav-ws-status { opacity: 0; visibility: hidden; } /* Navigation Icons */ nav .nav-bars, nav .nav-gears, nav .nav-ws-status { background: none; border: none; color: #bbbbbb; font-size: 36px; height: 60px; width: 60px; transition: opacity .2s; } nav .nav-bars:hover, nav .nav-gears:hover { color: #ffffff; } /* WebSocket Status */ nav .nav-ws-status, .nav-ws-status.mini { color: crimson; cursor: help; display: none; font-size: 12px; height: 12px; width: 12px; } .nav-ws-status.mini { top: 14px; left: 40px; position: absolute; } .nav-ws-status.fa-circle { color: #5DB56A; } /* Navigation List Items */ nav li { position: relative; } nav li .toggle-panel { cursor: pointer; opacity: 0; padding: 9px 20px; position: absolute; right: 0; top: 0; transition: all .2s; visibility: hidden; } nav li .toggle-panel i { color: rgba(220, 220, 220, 0.6); opacity: 0; } nav li .toggle-panel.active i { color: #ffffff; opacity: 1; } /* Show Toggle Panel in Active Navigation */ nav.active li .toggle-panel { visibility: visible; opacity: 1; } nav.active li:hover .toggle-panel i { opacity: 1; } /* Navigation Links - fixed colors for dark background */ nav li a { border-left: 3px solid transparent; color: #bbbbbb; display: block; font-size: smaller; max-width: 235px; opacity: 0; overflow: hidden; padding: 9px 20px; text-overflow: ellipsis; text-transform: uppercase; transition: all .2s; white-space: nowrap; } nav.active li a { max-width: 90%; opacity: 1; } nav li:hover a, nav li.active a { /* subtle blue tint on dark */ border-color: #60a5fa; color: #e0f0ff; /* bright readable blue-white */ } /* Unordered List */ nav ul { padding-left: 0; list-style: none; } /* Navigation Links */ nav a, nav a:hover { text-decoration: none; } /* Navigation Section Titles */ nav h3 { color: #e0e0e0 !important; font-size: medium; font-weight: bold; margin: 20px 25px 10px; text-transform: uppercase; } /* CONTAINER */ @media (min-width: 768px) { .container { width: 750px; } } .container-fluid { margin-left: 75px; } @media (min-width: 1120px) { .container { width: 970px; } } @media (min-width: 1320px) { .container { width: 1170px; } } @media (max-width: 992px) { .container-fluid { margin-left: auto; } } @media (max-width: 768px) { .container-fluid { padding-left: 5px; padding-right: 5px; } } /* PANEL STYLES */ #panels { margin-block-end: 10px; } article header { margin-block-end: 15px; position: relative; display: flex; justify-content: space-between; gap: 0.5em; } article h2 { font-size: 1.8rem; margin: 0; } article>div { background: linear-gradient(to bottom, #ffffff, #f8fafc); border: none; border-radius: 12px; margin-top: 16px; padding: 24px 16px 16px; box-shadow: 0 4px 10px rgb(0 0 0 / 0%), 0 2px 4px rgba(0, 0, 0, 0.06); } hgroup small { font-size: smaller; } /* PANEL TABLES */ article table.table-borderless tbody tr td, article table.table-borderless tbody tr th, article table.table-borderless thead tr th { border: none; } article thead th { text-align: right; border-bottom-width: 1px; } article table .string, article table .date { text-align: left; } article table .percent { color: #898989; } article table td, article table th { white-space: nowrap; overflow: hidden; } article table th.sortable { cursor: pointer; } article table.table-borderless thead>tr.thead-cols th { font-size: 78%; text-transform: uppercase; } article table .cell-hl { padding: 2px 3px; color: #FFF; border-radius: 5px; display: block; text-align: center; } article table .span-hl { padding: 2px 3px; border-radius: 3px; color: #000; } article table .span-hl.g5 { background: #e9ecef; } article table .cell-hl.b1 { background: #7F669D; } article table .cell-hl.b2 { background: #BA94D1; } article table .cell-hl.b3 { background: #DEBACE; } article table .cell-hl.d1 { background: #9d9d9d38; } article table .cell-hl.d2 { background: #9d9d9d61; } article table .cell-hl.d3 { background: #9d9d9d9c; } article table .cell-hl.d4 { background: #9d9d9d; } article table .span-hl.lgrn { background: #e6f4ea; color: #137333; } article table .span-hl.lyel { background: #fff3cd; color: #d38a10; } article table .span-hl.lred { background: #fce8e6; color: #c5221f; } article table .span-hl.lgry { background: #898989; color: #ffffff; } article table .span-hl.lblu { background: #cfe2ff; color: #052c65; } article table .span-hl.lprp { background: #cdc7ff; color: #343150; } /* thead meta */ article table thead>tr.thead-min th.meta-label, article table thead>tr.thead-avg th.meta-label, article table tfoot>tr.tfoot-totals th.meta-label, article table thead>tr.thead-max th.meta-label { font-weight: bold; text-transform: uppercase; } article table .thead-min, article table .thead-avg, article table .thead-max { background: #f8fafc; } article table .thead-avg { border-bottom: 2px solid #94a3b8; } article table thead>tr.thead-min th, article table thead>tr.thead-avg th, article table thead>tr.thead-max th { font-size: smaller; font-weight: normal; padding: 3px 8px 3px 8px; text-transform: inherit; } article table .thead-min th, article table .thead-avg th, article table .thead-max th { padding: 3px; } article table tfoot>tr>th { border-top: 1px dotted #cbd5e1; padding: 8px; } /* thead data */ article table tbody.tbody-data tr td { border-right: 1px solid #f1f5f9; font-size: smaller; } article table tbody.tbody-data td:last-child { border-right: none; } article table tbody.tbody-data td.row-idx { font-weight: 700; } article table>thead>tr.thead-cols { border-bottom: 2px solid #cbd5e1; } article table tbody.tbody-data tr.shaded { background-color: #f8fafc; } article table tbody.tbody-data tr.child td:nth-child(1), article table tbody.tbody-data tr.child td:nth-child(2) { border-right: none; } article table.table-hover>tbody>tr:hover { background-color: rgba(59, 130, 246, 0.05); } article .row:nth-child(2):not(.table-wrapper)>.col-md-12 { padding: 0; } /* GENERAL */ .report-title { margin: 0; background: #ffffff; color: #475569; border-radius: 6px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); bottom: -10px; font-size: small; padding: 0 10px; position: absolute; right: 0; z-index: 1; } ul[role="list"], ol[role="list"] { padding: 0; list-style: none; } #overall h2, #overall p { margin: 0; } #overall hgroup { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0.75em; margin-block-end: 4px; } #overall hgroup p { font-weight: 400; text-transform: uppercase; font-size: 18px; } #overall ul { margin-block-end: 0; padding: 0; } #overall li span { display: block; } #overall li span:first-of-type { font-size: 85%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; } #overall li span:last-of-type { font-size: 2.5rem; font-weight: 500; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } #overall li div { background: #ffffff; color: rgb(36, 36, 36); margin-top: 0.5rem; padding: 0.9rem; border-radius: 10px; position: relative; overflow: hidden; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.07); } #overall li div::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; } /* Color variants */ #overall li.black div::before { background: #0F1214; } #overall li.gray div::before { background: #cbd5e1; } #overall li.red div::before { background: #FF303E; } #overall li.blue div::before { background: #3b82f6; } #overall li.green div::before { background: #229f75; } @media (max-width: 767px) { .powered { bottom: 10px; left: 25px; transform: initial; } header hgroup { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 70% } } /* CHARTS */ .chart-wrap { margin-bottom: 15px; position: relative; } svg { background-color: transparent; display: block; } .axis path { fill: transparent; stroke: black; shape-rendering: crispEdges; stroke-width: 1; } .grid.y .tick line, .grid.x .tick line { shape-rendering: crispEdges; stroke: #999; stroke-dasharray: 3 3; stroke-width: 1; } .axis.x .tick line, .axis.y0 .tick line, .axis.y1 .tick line, .grid.y .tick:first-child line { stroke: black; stroke-width: 1; shape-rendering: crispEdges; } .bars rect.bar { shape-rendering: crispEdges; } .rects rect { fill: transparent; } .area { opacity: 0.2; } .points { stroke: transparent; } line.indicator { fill: transparent; pointer-events: none; shape-rendering: crispEdges; stroke: #999; stroke-width: 1; display: none; } .area0, .bars.y0 .bar, .points.y0, rect.legend.y0 { fill: #447FB3; } .area1, .bars.y1 .bar, .points.y1, rect.legend.y1 { fill: #FF6854; } .line0, .line1 { fill: transparent; stroke-width: 1; } .line0 { stroke: #007BC3; } .line1 { stroke: #FF303E; } .axis text, .axis-label, text.legend { font: 10px sans-serif; } .axis-label.y0, .axis-label.y1 { text-anchor: end; } rect.legend { height: 10px; width: 10px; } .legend { cursor: pointer; } .wrap-text text { text-anchor: start !important; } /* CHART TOOLTIP */ .chart-tooltip-wrap { left: 0; pointer-events: none; position: absolute; top: 10px; z-index: 10; } .chart-tooltip { background-color: #ffffff; border: 1px solid #e2e8f0; color: #1e293b; border-radius: 8px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); } .chart-tooltip tr { border: 1px solid #e2e8f0; } .chart-tooltip th { background-color: #f1f5f9; color: #1e293b; font-size: 14px; max-width: 380px; overflow: hidden; padding: 2px 5px; text-align: left; text-overflow: ellipsis; white-space: nowrap; } .chart-tooltip td { border-left: 1px dotted #cbd5e1; font-size: 13px; padding: 3px 6px; } .chart-tooltip td>span { display: inline-block; height: 10px; margin-right: 6px; width: 10px; } .chart-tooltip td.value { text-align: right; } .chart-tooltip .blue { background-color: #3b82f6; } .chart-tooltip .red { background-color: #FF303E; } /* SCROLLBARS */ ::-webkit-scrollbar-track, .table-responsive::-webkit-scrollbar-track { background-color: #f1f5f9; } ::-webkit-scrollbar, .table-responsive::-webkit-scrollbar { width: 10px; height: 10px; background-color: #f1f5f9; } ::-webkit-scrollbar-thumb, .table-responsive::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 8px; } ::-webkit-scrollbar-thumb:hover, .table-responsive::-webkit-scrollbar-thumb:hover { background-color: #94a3b8; } a, .nav li a:hover, .nav li.active a, .nav li:hover a { color: #3b82f6; } .btn-default { color: #475569; background-color: #f1f5f9; border-color: #cbd5e1; border-radius: 8px; transition: all 0.2s ease; } .btn-default:hover, .btn-default:active, .btn-default.active, .open>.dropdown-toggle.btn-default { color: #1e293b; background-color: #e2e8f0; border-color: #94a3b8; transform: translateY(-1px); } .pagination>.disabled>a, .pagination>.disabled>a:hover, .pagination>.disabled>a:focus { color: #94a3b8; } .pagination>li>a { background-color: #ffffff; border: 1px solid #cbd5e1; color: #475569; border-radius: 6px; } .pagination>li>a:hover, .pagination>li>a:active, .pagination>li>a:focus { color: #3b82f6; background-color: #f8fafc; border-color: #94a3b8; } .dropdown-menu { background-color: #ffffff; border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } .dropdown-menu>li>a:hover, .dropdown-menu>li>a:focus { color: #1e293b; background-color: #f1f5f9; } .cell-hl.b1, .progress-bar, .cell-hl.b2 { background: linear-gradient(90deg, #3b82f6, #60a5fa); color: white; } .clickable:hover, .expandable>td:hover, nav li:hover { background: rgba(59, 130, 246, 0.06); } /* DARK THEME */ .dark h1 { color: rgba(255, 255, 255, 0.6); } .dark hgroup, .dark h2, .dark h3, .dark h4, .dark h5 { color: rgba(255, 255, 255, 0.4); } .dark .table-responsive { border: none; } .dark article>div>table { color: #D2D2D2; } .dark article table tbody.tbody-data tr td { border-right: none; } .dark article table.table-hover>tbody.tbody-data>tr:hover { background-color: rgba(255, 255, 255, 0.08) !important; } .dark #overall li span:first-of-type { color: #9e9e9e; } .dark #overall li span:last-of-type { color: #FFF; } .dark .dropdown-menu>li>a { color: #FFF; } .dark article>div { color: #EEE; border-top: 1px solid rgba(255, 255, 255, 0.15); } .dark article table .cell-hl.d1 { background: #161616; } .dark article table .cell-hl.d2 { background: #3c3c3c; } .dark article table .cell-hl.d3 { background: #5a5a5a; } .dark article table .cell-hl.d4 { background: #7e7e7e; } .dark.graticule { stroke: #DDD; } /* DARK CHARTS */ .dark .area { opacity: 0.1; } .dark .line0, .dark .line1 { stroke-width: 2; } .dark .area0, .dark .bars.y0 .bar, .dark rect.legend.y0 { fill: #007BC3; } .dark .area1, .dark .bars.y1 .bar, .dark .points.y1, .dark rect.legend.y1 { fill: #FF303E; } .dark .points.y0 { fill: #00D4E1; } .dark .line0 { stroke: #007BC3; } .dark .line1 { stroke: #FF303E; } .dark .grid.y .tick line, .dark .grid.x .tick line { stroke: #44474B; stroke-dasharray: 1 1; } .dark .axis text, .dark .axis-label, .dark text.legend { fill: #9E9E9E; } .dark .axis path { stroke: #999999; } .dark .axis.x .tick line, .dark .axis.y0 .tick line, .dark .axis.y1 .tick line, .dark .grid.y .tick:first-child line { stroke: #3B444C; } .dark .chart-tooltip th { background-color: #1c1c1c; color: #fff; } .dark .chart-tooltip tr { border: 1px solid #363737; } .dark .sphere { fill: #0076d433; } .dark.gray .sphere { fill: #52646733; } .graticule { stroke: #8f8f8f; } /* DARK BLUE THEME */ html.dark.blue, .dark.blue body { background: linear-gradient(to bottom, #1e2b43 0%, #172033 50%, #0f172a 100%); background-attachment: fixed; /* Keeps gradient stable on scroll */ color: #e2e8f0; } .dark.blue .container { background: transparent; } .dark.blue .page-header { border-bottom: 1px solid #1e293b; background: transparent; } .dark.blue #last-updated { background-color: transparent; } .dark.blue nav { /* Match the main background gradient for cohesion */ background: linear-gradient(to bottom, #1e2b43 0%, #172033 50%, #0f172a 100%); border-color: transparent; /* Remove side border for cleaner look */ box-shadow: none; /* Rely on gradient for depth */ } .dark.blue article>div { background: linear-gradient(to bottom, #1e2b43, #172033); /* Your preferred card gradient */ border: none; /* Border removed as requested */ border-radius: 12px; margin-top: 16px; padding: 24px 16px 16px; } .dark.blue article table tfoot>tr>th { border-top: 1px dotted #475569; } .dark.blue article table .thead-min, .dark.blue article table .thead-avg, .dark.blue article table .thead-max { background: #1e2b43; } .dark.blue article table .thead-avg { border-bottom: 2px solid #64748b; } .dark.blue article table>thead>tr.thead-cols { border-bottom: 2px solid #475569; } .dark.blue article table tbody.tbody-data tr.shaded { background-color: #172033; } .dark.blue #overall li.gray div { border-top: 4px solid #334155; } .dark.blue #overall li div { background: #1e2b43; border-radius: 10px; } .dark.blue .btn-default { color: #cbd5e1; background-color: #1e2b43; border-color: #334155; border-radius: 8px; transition: all 0.2s ease; } .dark.blue .btn-default:hover, .dark.blue .btn-default:active, .dark.blue .btn-default.active, .dark.blue .open>.dropdown-toggle.btn-default { color: #e2e8f0; background-color: #334155; border-color: #475569; transform: translateY(-1px); } .dark.blue .pagination>.disabled>a, .dark.blue .pagination>.disabled>a:hover, .dark.blue .pagination>.disabled>a:focus { color: #64748b; } .dark.blue .pagination>li>a { background-color: #1e2b43; border: 1px solid #334155; color: #cbd5e1; border-radius: 6px; } .dark.blue .pagination>li>a:hover, .dark.blue .pagination>li>a:active, .dark.blue .pagination>li>a:focus { color: #60a5fa; background-color: #1e2b43; border-color: #475569; } .dark.blue .dropdown-menu>li>a:hover, .dark.blue .dropdown-menu>li>a:focus { color: #e2e8f0; background-color: #334155; } .dark.blue .dropdown-menu { background-color: #1e2b43; border: 1px solid #334155; border-radius: 10px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); } .dark.blue .chart-tooltip { background-color: #1e2b43; border: 1px solid #334155; color: #e2e8f0; border-radius: 8px; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4); } .dark.blue .chart-tooltip th { background-color: #334155; color: #fff; } .dark.blue .report-title { background: #1e2b43; color: #cbd5e1; border-radius: 6px; } .dark.blue .cell-hl.b1, .dark.blue .progress-bar, .dark.blue .cell-hl.b2 { background: linear-gradient(90deg, #3b82f6, #60a5fa); } /* Subtle interactive hover */ .dark.blue .clickable:hover, .dark.blue .expandable>td:hover, .dark.blue nav li:hover { background: rgba(96, 165, 250, 0.09); } /* SCROLLBARS - Dark Blue Theme */ html.dark.blue::-webkit-scrollbar-track, .dark.blue body::-webkit-scrollbar-track, .dark.blue .table-responsive::-webkit-scrollbar-track { background-color: #0f172a; } html.dark.blue::-webkit-scrollbar, .dark.blue body::-webkit-scrollbar, .dark.blue .table-responsive::-webkit-scrollbar { width: 10px; height: 10px; background-color: #0f172a; } html.dark.blue::-webkit-scrollbar-thumb, .dark.blue body::-webkit-scrollbar-thumb, .dark.blue .table-responsive::-webkit-scrollbar-thumb { background-color: #334155; border-radius: 8px; } html.dark.blue::-webkit-scrollbar-thumb:hover, .dark.blue body::-webkit-scrollbar-thumb:hover, .dark.blue .table-responsive::-webkit-scrollbar-thumb:hover { background-color: #475569; } /* DARK GREY THEME */ html.dark.gray, .dark.gray body { background: linear-gradient(to bottom, #2a2a2a 0%, #1f1f1f 50%, #141414 100%); background-attachment: fixed; color: #e5e5e5; } .dark.gray .container { background: transparent; } .dark.gray .page-header { border-bottom: 1px solid #2f2f2f; background: transparent; } .dark.gray #last-updated { background-color: transparent; } .dark.gray nav { background: linear-gradient(to bottom, #2a2a2a 0%, #1f1f1f 50%, #141414 100%); border-color: transparent; } .dark.gray article>div { background: linear-gradient(to bottom, #2a2a2a, #1f1f1f); border: none; border-radius: 12px; margin-top: 16px; padding: 24px 16px 16px; } .dark.gray article table .thead-min, .dark.gray article table .thead-avg, .dark.gray article table .thead-max { background: #2a2a2a; } .dark.gray article table .thead-avg { border-bottom: 2px solid #555; } .dark.gray article table>thead>tr.thead-cols { border-bottom: 2px solid #444; } .dark.gray article table tbody.tbody-data tr.shaded { background-color: #1a1a1a; } .dark.gray #overall li.gray div { border-top: 4px solid #444; } .dark.gray #overall li div { background: #2a2a2a; border-radius: 10px; } .dark.gray .btn-default { color: #d1d5db; background-color: #2a2a2a; border-color: #444; border-radius: 8px; transition: all 0.2s ease; } .dark.gray .btn-default:hover, .dark.gray .btn-default:active, .dark.gray .btn-default.active, .dark.gray .open>.dropdown-toggle.btn-default { color: #f1f5f9; background-color: #3a3a3a; border-color: #555; transform: translateY(-1px); } .dark.gray .pagination>li>a { background-color: #2a2a2a; border: 1px solid #444; color: #d1d5db; border-radius: 6px; } .dark.gray .pagination>li>a:hover, .dark.gray .pagination>li>a:focus { color: #9ca3af; background-color: #2a2a2a; border-color: #555; } .dark.gray .dropdown-menu { background-color: #2a2a2a; border: 1px solid #444; border-radius: 10px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35); } .dark.gray .dropdown-menu>li>a:hover, .dark.gray .dropdown-menu>li>a:focus { color: #fff; background-color: #3a3a3a; } .dark.gray .chart-tooltip { background-color: #2a2a2a; border: 1px solid #444; color: #e5e5e5; border-radius: 8px; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4); } .dark.gray .chart-tooltip th { background-color: #3a3a3a; color: #fff; } .dark.gray .report-title { background: #2a2a2a; color: #d1d5db; border-radius: 6px; } /* SCROLLBARS - Dark Gray Theme */ html.dark.gray::-webkit-scrollbar-track, .dark.gray body::-webkit-scrollbar-track, .dark.gray .table-responsive::-webkit-scrollbar-track { background-color: #141414; } html.dark.gray::-webkit-scrollbar, .dark.gray body::-webkit-scrollbar, .dark.gray .table-responsive::-webkit-scrollbar { width: 10px; height: 10px; background-color: #141414; } html.dark.gray::-webkit-scrollbar-thumb, .dark.gray body::-webkit-scrollbar-thumb, .dark.gray .table-responsive::-webkit-scrollbar-thumb { background-color: #444444; border-radius: 8px; } html.dark.gray::-webkit-scrollbar-thumb:hover, .dark.gray body::-webkit-scrollbar-thumb:hover, .dark.gray .table-responsive::-webkit-scrollbar-thumb:hover { background-color: #5a5a5a; } /* subtle hover */ .dark.gray .clickable:hover, .dark.gray .expandable>td:hover, .dark.gray nav li:hover { background: rgba(255, 255, 255, 0.05); } /* DARK PURPLE THEME */ html.dark.purple, .dark.purple body { background: linear-gradient(to bottom, #2a2240 0%, #1e1e2f 50%, #151523 100%); background-attachment: fixed; color: #e6e1ff; } .dark.purple .container { background: transparent; } .dark.purple .page-header { border-bottom: 1px solid #2f2a4a; background: transparent; } .dark.purple #last-updated { background-color: transparent; } .dark.purple nav { background: linear-gradient(to bottom, #2a2240 0%, #1e1e2f 50%, #151523 100%); border-color: transparent; } .dark.purple article>div { background: linear-gradient(to bottom, #2a2240, #1e1e2f); border: none; border-radius: 12px; margin-top: 16px; padding: 24px 16px 16px; } .dark.purple article table .thead-min, .dark.purple article table .thead-avg, .dark.purple article table .thead-max { background: #2a2240; } .dark.purple article table .thead-avg { border-bottom: 2px solid #5b4f85; } .dark.purple article table>thead>tr.thead-cols { border-bottom: 2px solid #4b3f72; } .dark.purple article table tbody.tbody-data tr.shaded { background-color: #181824; } .dark.purple #overall li div { background: #2a2240; border-radius: 10px; } .dark.purple .btn-default { color: #d6ccff; background-color: #2a2240; border-color: #4b3f72; border-radius: 8px; transition: all 0.2s ease; } .dark.purple .btn-default:hover, .dark.purple .btn-default:active, .dark.purple .btn-default.active, .dark.purple .open>.dropdown-toggle.btn-default { color: #f1edff; background-color: #3a2f66; border-color: #5b4f85; transform: translateY(-1px); } .dark.purple .pagination>li>a { background-color: #2a2240; border: 1px solid #4b3f72; color: #d6ccff; border-radius: 6px; } .dark.purple .pagination>li>a:hover, .dark.purple .pagination>li>a:focus { color: #c4b5fd; background-color: #2a2240; border-color: #5b4f85; } .dark.purple .dropdown-menu { background-color: #2a2240; border: 1px solid #4b3f72; border-radius: 10px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35); } .dark.purple .dropdown-menu>li>a:hover, .dark.purple .dropdown-menu>li>a:focus { color: #fff; background-color: #3a2f66; } .dark.purple .chart-tooltip { background-color: #2a2240; border: 1px solid #4b3f72; color: #e6e1ff; border-radius: 8px; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4); } .dark.purple .chart-tooltip th { background-color: #3a2f66; color: #fff; } .dark.purple .report-title { background: #2a2240; color: #d6ccff; border-radius: 6px; } /* subtle hover */ .dark.purple .clickable:hover, .dark.purple .expandable>td:hover, .dark.purple nav li:hover { background: rgba(208, 72, 182, 0.08); } /* SCROLLBARS - Dark Purple Theme */ html.dark.purple::-webkit-scrollbar-track, .dark.purple body::-webkit-scrollbar-track, .dark.purple .table-responsive::-webkit-scrollbar-track { background-color: #151523; } html.dark.purple::-webkit-scrollbar, .dark.purple body::-webkit-scrollbar, .dark.purple .table-responsive::-webkit-scrollbar { width: 10px; height: 10px; background-color: #151523; } html.dark.purple::-webkit-scrollbar-thumb, .dark.purple body::-webkit-scrollbar-thumb, .dark.purple .table-responsive::-webkit-scrollbar-thumb { background-color: #4b3f72; border-radius: 8px; } html.dark.purple::-webkit-scrollbar-thumb:hover, .dark.purple body::-webkit-scrollbar-thumb:hover, .dark.purple .table-responsive::-webkit-scrollbar-thumb:hover { background-color: #5b4f85; } /* DARK PURPLE CHART COLORS */ .dark.purple .area0, .dark.purple .bars.y0 .bar, .dark.purple rect.legend.y0 { fill: #007BC3; } .dark.purple .area1, .dark.purple .bars.y1 .bar, .dark.purple .points.y1, .dark.purple rect.legend.y1 { fill: #d048b6; } .dark.purple .points.y0 { fill: #00D4E1; } .dark.purple .line0 { stroke: #007BC3; } .dark.purple .line1 { stroke: #d048b6; } /* Grid and axes */ .dark.purple .grid.y .tick line, .dark.purple .grid.x .tick line { stroke: #44474B; stroke-dasharray: 1 1; } .dark.purple .axis text, .dark.purple .axis-label, .dark.purple text.legend { fill: #9E9E9E; } .dark.purple .axis path { stroke: #999999; } .dark.purple .axis.x .tick line, .dark.purple .axis.y0 .tick line, .dark.purple .axis.y1 .tick line, .dark.purple .grid.y .tick:first-child line { stroke: #44474B; } /* Tooltip header */ .dark.purple .chart-tooltip th { background-color: #1e1e2f; } .country { fill: #ccc; stroke: #fff; stroke-width: 0.5px; } .country:hover { fill: #b3b3b3; } .dark .country { fill: #ccc; stroke: #222; stroke-width: 0.5px; } .dark .legend-svg text { fill: #FFF; } /* DRAG AND DROP STYLES */ /* Make the drag handle visible and interactive */ .nav-list li .drag-handle { display: inline-block; padding: 8px 10px; margin-right: 5px; cursor: grab; color: #999; transition: color 0.2s; } .nav-list li .drag-handle:hover { color: #333; } /* Dark theme adjustments */ .dark .nav-list li .drag-handle:hover { color: #fff; } /* Hide drag handle on overall stats (first item) */ .nav-list li:first-child .drag-handle { display: none; } .nav-list li:first-child { cursor: default; } /* Visual feedback during drag */ .nav-list li.dragging { opacity: 0.5; cursor: grabbing; } .nav-list li.drag-over { border-top: 2px solid #4CAF50; background-color: rgba(76, 175, 80, 0.1); } .dark .nav-list li.drag-over { background-color: rgba(76, 175, 80, 0.2); } /* Ensure draggable items have proper spacing */ .nav-list li[draggable="true"] { position: relative; transition: background-color 0.2s, border 0.2s; } /* Layout adjustments for drag handle */ .nav-list li { display: flex; align-items: center; position: relative; } .nav-list li a { flex: 1; } .nav-list li .toggle-panel { margin-left: auto; }