37243-vm/assets/css/custom.css
2026-01-11 01:28:40 +00:00

156 lines
3.3 KiB
CSS

/* HVAC Command Center - Dark Theme */
:root {
--dark-bg: #1a1f2b;
--card-bg: #2d3446;
--text-light: #ffffff;
--text-muted: #aab0bb;
--accent-color: #4dc9ff;
--border-color: #3d4455;
}
body {
background-color: var(--dark-bg);
color: var(--text-light);
font-family: 'Roboto', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Montserrat', sans-serif;
color: var(--text-light);
}
.header {
background: var(--card-bg);
padding: 1rem 2rem;
border-bottom: 1px solid var(--border-color);
}
.card {
background-color: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 24px rgba(77, 201, 255, 0.15);
}
.card-header {
background: linear-gradient(90deg, #364057, #2d3446);
border-bottom: 1px solid var(--border-color);
border-radius: 12px 12px 0 0;
padding: 1rem 1.5rem;
}
.kpi-card-header {
background: linear-gradient(135deg, rgba(77, 201, 255, 0.15), rgba(77, 201, 255, 0.05));
}
.table {
--bs-table-bg: var(--card-bg);
--bs-table-color: var(--text-light);
--bs-table-border-color: var(--border-color);
--bs-table-hover-bg: #364057;
--bs-table-hover-color: var(--text-light);
}
.table-striped>tbody>tr:nth-of-type(odd)>* {
--bs-table-accent-bg: #262c3a;
}
.badge.bg-success { background-color: #28a745 !important; }
.badge.bg-warning { background-color: #ffc107 !important; color: #000 !important; }
.badge.bg-danger { background-color: #dc3545 !important; }
.badge.bg-info { background-color: var(--accent-color) !important; color: #000 !important;}
/* Sidebar Navigation */
.sidebar {
position: fixed;
top: 0;
left: 0;
width: 250px;
height: 100vh;
background-color: var(--card-bg);
padding: 1rem;
z-index: 1030;
border-right: 1px solid var(--border-color);
box-shadow: 4px 0 10px rgba(0,0,0,0.1);
}
.sidebar .nav-link {
color: var(--text-muted);
font-size: 1rem;
padding: 0.75rem 1rem;
border-radius: 8px;
transition: background-color 0.2s, color 0.2s;
}
.sidebar .nav-link:hover,
.sidebar .nav-link.active {
background-color: rgba(77, 201, 255, 0.1);
color: var(--accent-color);
}
.sidebar .nav-link i {
margin-right: 10px;
}
.sidebar-header {
text-align: center;
margin-bottom: 1rem;
}
.main-content {
margin-left: 250px;
padding: 2rem;
}
@media (max-width: 768px) {
.sidebar {
width: 100%;
height: auto;
position: relative;
z-index: 1031;
}
.main-content {
margin-left: 0;
}
}
/* Stat Cards */
.stat-card .icon {
font-size: 2.5rem;
color: var(--accent-color);
opacity: 0.7;
}
.stat-card .change-indicator {
font-size: 1rem;
}
.stat-card .change-indicator.positive { color: #28a745; }
.stat-card .change-indicator.negative { color: #dc3545; }
/* Weather Widget */
#weather-widget {
background: linear-gradient(135deg, #2d3446, #1a1f2b);
}
/* Map Widget */
#weather-map {
height: 400px;
border-radius: 8px;
}
.leaflet-tile {
filter: brightness(0.8) contrast(1.2);
}
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
background-color: var(--card-bg);
color: var(--text-light);
}