/* Global Styles */
|
:root {
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
}
|
|
body {
|
margin: 0;
|
min-height: 100vh;
|
}
|
|
/* Status Colors */
|
.status-stopped {
|
border-left: 4px solid #6c757d;
|
}
|
|
.status-starting {
|
border-left: 4px solid #0dcaf0;
|
}
|
|
.status-running {
|
border-left: 4px solid #198754;
|
}
|
|
.status-stopping {
|
border-left: 4px solid #ffc107;
|
}
|
|
.status-error {
|
border-left: 4px solid #dc3545;
|
}
|
|
/* Loading Spinner Overlay */
|
.spinner-overlay {
|
position: fixed;
|
top: 0;
|
left: 0;
|
width: 100%;
|
height: 100%;
|
background-color: rgba(0, 0, 0, 0.5);
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
z-index: 9999;
|
}
|
|
/* Spin icon animation */
|
.spin-icon {
|
animation: spin 1s linear infinite;
|
}
|
|
@keyframes spin {
|
from {
|
transform: rotate(0deg);
|
}
|
to {
|
transform: rotate(360deg);
|
}
|
}
|
|
/* Card hover effect */
|
.card {
|
transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
|
}
|
|
.card:hover {
|
transform: translateY(-2px);
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
}
|
|
/* Custom scrollbar */
|
::-webkit-scrollbar {
|
width: 8px;
|
height: 8px;
|
}
|
|
::-webkit-scrollbar-track {
|
background: #f1f1f1;
|
}
|
|
::-webkit-scrollbar-thumb {
|
background: #888;
|
border-radius: 4px;
|
}
|
|
::-webkit-scrollbar-thumb:hover {
|
background: #555;
|
}
|