|
|
|
|
|
|
|
|
|
|
|
body { |
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; |
|
|
background-color: #f8f9fa; |
|
|
} |
|
|
|
|
|
|
|
|
.card { |
|
|
border: none; |
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); |
|
|
margin-bottom: 1.5rem; |
|
|
transition: box-shadow 0.3s ease; |
|
|
} |
|
|
|
|
|
.card:hover { |
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); |
|
|
} |
|
|
|
|
|
.card-header { |
|
|
background-color: #fff; |
|
|
border-bottom: 2px solid #0066CC; |
|
|
font-weight: 600; |
|
|
} |
|
|
|
|
|
|
|
|
#upload-data { |
|
|
cursor: pointer; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
#upload-data:hover { |
|
|
border-color: #0066CC !important; |
|
|
background-color: #e7f3ff !important; |
|
|
} |
|
|
|
|
|
|
|
|
.btn-primary { |
|
|
background-color: #0066CC; |
|
|
border-color: #0066CC; |
|
|
} |
|
|
|
|
|
.btn-primary:hover { |
|
|
background-color: #0052a3; |
|
|
border-color: #0052a3; |
|
|
} |
|
|
|
|
|
|
|
|
.dash-spinner { |
|
|
color: #0066CC; |
|
|
} |
|
|
|
|
|
|
|
|
.rc-slider-track { |
|
|
background-color: #0066CC; |
|
|
} |
|
|
|
|
|
.rc-slider-handle { |
|
|
border-color: #0066CC; |
|
|
} |
|
|
|
|
|
.rc-slider-handle:active, |
|
|
.rc-slider-handle:focus, |
|
|
.rc-slider-handle:hover { |
|
|
border-color: #0052a3; |
|
|
box-shadow: 0 0 0 5px rgba(0, 102, 204, 0.2); |
|
|
} |
|
|
|
|
|
|
|
|
.table { |
|
|
font-size: 0.9rem; |
|
|
} |
|
|
|
|
|
.table thead th { |
|
|
background-color: #0066CC; |
|
|
color: white; |
|
|
border: none; |
|
|
font-weight: 600; |
|
|
} |
|
|
|
|
|
|
|
|
.alert { |
|
|
border-radius: 8px; |
|
|
border: none; |
|
|
} |
|
|
|
|
|
|
|
|
@media (max-width: 768px) { |
|
|
.card-body { |
|
|
padding: 1rem; |
|
|
} |
|
|
|
|
|
h2 { |
|
|
font-size: 1.5rem; |
|
|
} |
|
|
|
|
|
h5 { |
|
|
font-size: 1.1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#forecast-chart { |
|
|
border-radius: 8px; |
|
|
} |
|
|
|
|
|
|
|
|
.metrics-card { |
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
|
|
color: white; |
|
|
border-radius: 12px; |
|
|
padding: 1.5rem; |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
|
|
|
footer { |
|
|
margin-top: 3rem; |
|
|
padding: 1rem 0; |
|
|
border-top: 1px solid #dee2e6; |
|
|
} |
|
|
|
|
|
|
|
|
:focus { |
|
|
outline: 2px solid #0066CC; |
|
|
outline-offset: 2px; |
|
|
} |
|
|
|
|
|
|
|
|
._dash-loading { |
|
|
background-color: rgba(255, 255, 255, 0.8); |
|
|
} |
|
|
|
|
|
._dash-loading-callback { |
|
|
color: #0066CC; |
|
|
} |
|
|
|
|
|
|
|
|
.badge { |
|
|
font-weight: 500; |
|
|
padding: 0.5em 0.75em; |
|
|
} |
|
|
|