|
|
: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); |
|
|
} |
|
|
|
|
|
|
|
|
.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); |
|
|
} |