Replaced fixed 600px output heights with calc(100vh - 130px) so console and chat logs fill the available space. Added min-height to player list table so it doesn't look empty with few players. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
141 lines
2.9 KiB
CSS
141 lines
2.9 KiB
CSS
@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); } |