.resource-container { display: flex; flex-wrap: wrap; justify-content: space-around; padding: 5px 0; } .resource-card { width: 200px; height: 300px; margin: 10px; text-align: center; background: #fff; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: all 0.3s; position: relative; overflow: hidden; } .resource-card:hover { transform: translateY(-5px); box-shadow: 0 6px 12px rgba(0,0,0,0.15); } .card-header { padding: 10px; font-size: 16px; font-weight: bold; color: #333; border-bottom: 1px solid #f0f0f0; } .progress-container { width: 120px; height: 120px; margin: 20px auto; position: relative; } .progress-circle { width: 100%; height: 100%; transform: rotate(-90deg); } .progress-bg { fill: none; stroke: #f0f0f0; stroke-width: 8; } .progress-bar { fill: none; stroke-width: 8; stroke-linecap: round; stroke-dasharray: 314; stroke-dashoffset: 314; transition: stroke-dashoffset 1s ease-in-out; } .progress-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 24px; font-weight: bold; } .progress-info { margin-top: 10px; font-size: 14px; color: #666; } .cpu-color { stroke: #FF6B6B; } .gpu-color { stroke: #4ECDC4; } .memory-color { stroke: #45B7D1; } .network-color { stroke: #FFA07A; } .card-footer { position: absolute; bottom: 0; width: 100%; padding: 10px; background: #f9f9f9; font-size: 12px; color: #888; }