Spaces:
Running
Running
| /* Custom animations and styles */ | |
| @keyframes slideUp { | |
| from { | |
| transform: translateY(100%); | |
| opacity: 0; | |
| } | |
| to { | |
| transform: translateY(0); | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| .slide-up { | |
| animation: slideUp 0.3s ease-out; | |
| } | |
| .fade-in { | |
| animation: fadeIn 0.5s ease-out; | |
| } | |
| /* Chart styles */ | |
| .chart-container { | |
| position: relative; | |
| height: 200px; | |
| } | |
| /* Custom scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 6px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #f1f1f1; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #A5D6A7; | |
| border-radius: 3px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: #81C784; | |
| } | |
| /* Touch friendly buttons */ | |
| .touch-target { | |
| min-height: 44px; | |
| min-width: 44px; | |
| } | |
| /* Safe area insets for mobile */ | |
| .safe-area-top { | |
| padding-top: env(safe-area-inset-top); | |
| } | |
| .safe-area-bottom { | |
| padding-bottom: env(safe-area-inset-bottom); | |
| } | |
| /* Health status indicators */ | |
| .health-status-excellent { | |
| background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%); | |
| border-color: #28a745; | |
| } | |
| .health-status-good { | |
| background: linear-gradient(135deg, #d1ecf1 0%, #bee5eb 100%); | |
| border-color: #17a2b8; | |
| } | |
| .health-status-moderate { | |
| background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%); | |
| border-color: #ffc107; | |
| } | |
| .health-status-warning { | |
| background: linear-gradient(135deg, #fff0cd 0%, #ffd93d 100%); | |
| border-color: #ff9800; | |
| } | |
| .health-status-danger { | |
| background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%); | |
| border-color: #dc3545; | |
| } | |
| .health-safe-pulse { | |
| animation: safePulse 2s infinite; | |
| } | |
| @keyframes safePulse { | |
| 0%, 100% { | |
| box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.4); | |
| } | |
| 50% { | |
| box-shadow: 0 0 0 8px rgba(40, 167, 69, 0); | |
| } | |
| } | |
| .health-warning-pulse { | |
| animation: warningPulse 2s infinite; | |
| } | |
| @keyframes warningPulse { | |
| 0%, 100% { | |
| box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.4); | |
| } | |
| 50% { | |
| box-shadow: 0 0 0 8px rgba(255, 193, 7, 0); | |
| } | |
| } | |
| .health-danger-pulse { | |
| animation: dangerPulse 1.5s infinite; | |
| } | |
| @keyframes dangerPulse { | |
| 0%, 100% { | |
| box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.4); | |
| } | |
| 50% { | |
| box-shadow: 0 0 0 8px rgba(220, 53, 69, 0); | |
| } | |
| } | |