/* Custom styles for Resource Monitor Dashboard */ .loading-spinner { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .fade-in { animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .slide-down { animation: slideDown 0.3s ease-out; } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* System Control Button Animations */ @keyframes pulse { 0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7); } 50% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(220, 38, 38, 0); } 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); } } /* Make title elements more touch-friendly on mobile */ @media (max-width: 768px) { nav h1 { padding: 8px; border-radius: 4px; cursor: pointer; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0.2); } nav h1:active { background-color: rgba(255, 255, 255, 0.1); } nav .fas.fa-chart-line { padding: 8px; border-radius: 50%; cursor: pointer; -webkit-tap-highlight-color: rgba(255, 255, 255, 0.2); } nav .fas.fa-chart-line:active { background-color: rgba(255, 255, 255, 0.1); } } /* Custom progress bar animations */ .progress-bar { transition: width 0.5s ease-in-out; } /* Responsive table */ @media (max-width: 768px) { .mobile-table { font-size: 0.875rem; } .mobile-table th, .mobile-table td { padding: 0.5rem 0.25rem; } } /* Custom notification styles */ .notification { position: fixed; top: 1rem; right: 1rem; z-index: 1000; max-width: 400px; animation: slideIn 0.3s ease-out; } @keyframes slideIn { from { opacity: 0; transform: translateX(100%); } to { opacity: 1; transform: translateX(0); } } /* Process table hover effects */ .process-row:hover { background-color: #f9fafb; transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.1); transition: all 0.2s ease; } /* Chart container responsive */ .chart-container { position: relative; height: 200px; width: 100%; } @media (max-width: 640px) { .chart-container { height: 150px; } }