/* 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; background: #f5f7fa; } /* Status Colors - Element Plus */ .status-stopped { border-left: 4px solid #909399; } .status-starting { border-left: 4px solid #409eff; } .status-running { border-left: 4px solid #67c23a; } .status-stopping { border-left: 4px solid #e6a23c; } .status-error { border-left: 4px solid #f56c6c; } /* 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 */ .el-card { transition: all 0.3s ease; } .el-card:hover { transform: translateY(-2px); } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #c0c4cc; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #909399; }