darkpulse-dashboard / style.css
researcher28's picture
You are a senior frontend engineer.
d0330d4 verified
:root {
--bs-body-bg: #1a1a1a;
--bs-body-color: #f8f9fa;
--bs-secondary-bg: #2d2d2d;
--bs-tertiary-bg: #333333;
--bs-border-color: #3d3d3d;
}
body {
background-color: var(--bs-body-bg);
color: var(--bs-body-color);
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
min-height: 100vh;
}
.text-gradient {
background: linear-gradient(45deg, #3a7bd5, #00d2ff);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.widget-card {
border-radius: 12px;
border: 1px solid var(--bs-border-color);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
transition: transform 0.2s ease, box-shadow 0.2s ease;
height: 100%;
position: relative;
overflow: hidden;
}
.widget-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.widget-card.small {
min-height: 180px;
}
.widget-card.medium {
min-height: 240px;
}
.widget-card.large {
min-height: 300px;
}
.widget-header {
border-bottom: 1px solid var(--bs-border-color);
padding: 0.75rem 1rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.widget-title {
font-weight: 600;
font-size: 1rem;
margin: 0;
}
.widget-body {
padding: 1rem;
}
.badge-color {
width: 10px;
height: 10px;
border-radius: 50%;
display: inline-block;
margin-right: 6px;
}
.value-display {
font-size: 2.25rem;
font-weight: 700;
margin: 0.5rem 0;
}
.value-change {
font-size: 0.85rem;
display: flex;
align-items: center;
}
.chart-container {
position: relative;
height: 80px;
margin-top: 1rem;
}
.news-item {
border-bottom: 1px solid var(--bs-border-color);
padding: 0.75rem 0;
}
.news-item:last-child {
border-bottom: none;
}
.uptime-stats {
display: flex;
justify-content: space-between;
margin-bottom: 1rem;
}
.uptime-stat {
text-align: center;
}
.uptime-value {
font-size: 1.5rem;
font-weight: 600;
}
.uptime-label {
font-size: 0.75rem;
color: #adb5bd;
}
.status-badge {
padding: 0.25rem 0.5rem;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 600;
}
.status-online {
background-color: rgba(40, 167, 69, 0.2);
color: #28a745;
}
.status-offline {
background-color: rgba(220, 53, 69, 0.2);
color: #dc3545;
}
.modal-content {
border: 1px solid var(--bs-border-color);
}
.modal-header {
background-color: var(--bs-tertiary-bg);
}
.modal-body {
background-color: var(--bs-secondary-bg);
}
.modal-footer {
background-color: var(--bs-tertiary-bg);
}
/* Color variants for widget cards */
.widget-bg-orange {
background: linear-gradient(135deg, rgba(253, 126, 20, 0.1), transparent);
}
.widget-bg-purple {
background: linear-gradient(135deg, rgba(111, 66, 193, 0.1), transparent);
}
.widget-bg-blue {
background: linear-gradient(135deg, rgba(13, 110, 253, 0.1), transparent);
}
.widget-bg-green {
background: linear-gradient(135deg, rgba(25, 135, 84, 0.1), transparent);
}
.widget-bg-teal {
background: linear-gradient(135deg, rgba(32, 201, 151, 0.1), transparent);
}
.widget-bg-pink {
background: linear-gradient(135deg, rgba(214, 51, 132, 0.1), transparent);
}
.widget-bg-yellow {
background: linear-gradient(135deg, rgba(255, 193, 7, 0.1), transparent);
}
.widget-bg-red {
background: linear-gradient(135deg, rgba(220, 53, 69, 0.1), transparent);
}
.widget-bg-indigo {
background: linear-gradient(135deg, rgba(102, 16, 242, 0.1), transparent);
}