@import url(https://fonts.googleapis.com/css?family=Roboto:400,700); :root { --rcon-bg: #120918; --rcon-text: #cfd2da; --rcon-accent: #8b5cf6; --rcon-card-bg: #1e1330; /* Override BS5 dark theme body background */ --bs-body-bg: #120918; } body { font-family: "Roboto", sans-serif; font-size: 14px; font-weight: 300; } a { color: var(--rcon-accent); } a:hover { color: #fff; text-decoration: none; } /* Console output */ #ConsoleController .Output { font-family: monospace; font-size: 12px; white-space: pre-wrap; } .scrollable { overflow: auto; } /* Sidebar navigation */ .nav-sidebar { margin-top: 64px; } .nav-sidebar .nav-link { padding: 8px 20px; border-radius: 5px; color: var(--rcon-text); } .nav-sidebar .nav-link:hover, .nav-sidebar .nav-link.active { color: #fff; background-color: #6d28d9; } /* Fade utility */ .fade { opacity: 0.5; } /* Table styles */ #PlayerListController .table-responsive { min-height: calc(100vh - 200px); } .table > tbody > tr:hover { background-color: rgba(255, 255, 255, 0.15); } .table > thead > tr > th.sorting { color: #1bc98e; border-color: #1bc98e; } .table > thead > tr > th.sorting.descending { color: #e05d6f; border-color: #e05d6f; } .table-responsive { overflow-x: visible !important; overflow-y: visible !important; } /* Form controls dark theme */ .form-control { background: rgba(255, 255, 255, 0.15); border: 1px solid rgba(255, 255, 255, 0.2); color: var(--rcon-text); } .form-control:focus { background: rgba(255, 255, 255, 0.2); color: #fff; border-color: var(--rcon-accent); box-shadow: 0 0 0 0.2rem rgba(109, 40, 217, 0.25); } /* Cards — glass morphism with backdrop blur */ .card { background-color: rgba(30, 19, 48, 0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(139, 92, 246, 0.15); border-radius: 0.5rem; } /* Dropdown dark theme */ .dropdown-menu { background-color: var(--rcon-card-bg); border-color: rgba(255, 255, 255, 0.1); } .dropdown-menu .dropdown-item { color: var(--rcon-text); } .dropdown-menu .dropdown-item:hover { background-color: rgba(255, 255, 255, 0.15); color: #fff; } .dropdown-menu .dropdown-divider { border-color: rgba(255, 255, 255, 0.15); } /* Navbar text color override */ #server-header { margin-bottom: 1rem; } .navbar-dark .navbar-text { color: rgba(255, 255, 255, 0.85); } /* Chart SVGs */ #chart-performance, #chart-network, #chart-players { display: block; } /* NVD3 — light text on dark background */ .nvd3 text { fill: rgba(255, 255, 255, 0.85); font-size: 11px; } .nvd3 .nv-axislabel { fill: rgba(255, 255, 255, 0.7); } .nvd3 .nv-legend-text { fill: rgba(255, 255, 255, 0.85) !important; } .nvd3 .nv-pieLabels text { fill: #fff !important; } .nvd3 .nv-axis line, .nvd3 .nv-axis path { stroke: rgba(255, 255, 255, 0.15); } .nvd3 .nv-x .tick line, .nvd3 .nv-y .tick line { stroke: rgba(255, 255, 255, 0.1); }