156 lines
3.3 KiB
CSS
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);
|
|
} |