.muscle-recovery-list { display: flex; flex-direction: column; gap: 20px; padding: 16px; background: #0a0a1f; border-radius: 16px; } .muscle-recovery-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; } .muscle-recovery-header h2 { margin: 0; font-size: 20px; font-weight: bold; color: #fff; } .muscle-recovery-subtitle { margin: 4px 0 0 0; font-size: 13px; color: #999; } .muscle-recovery-refresh { background: none; border: none; color: #ccff00; cursor: pointer; padding: 8px; border-radius: 8px; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; } .muscle-recovery-refresh:hover { background: rgba(204, 255, 0, 0.1); transform: rotate(180deg); } .muscle-recovery-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 40px 16px; text-align: center; } .muscle-recovery-spinner { width: 32px; height: 32px; border: 2px solid rgba(204, 255, 0, 0.2); border-top: 2px solid #ccff00; border-radius: 50%; animation: spin 0.6s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .muscle-recovery-loading p { color: #999; font-size: 14px; margin: 0; } .muscle-recovery-error { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: rgba(255, 68, 68, 0.1); border: 1px solid rgba(255, 68, 68, 0.3); border-radius: 8px; color: #ff8888; font-size: 13px; } .muscle-recovery-empty { padding: 40px 16px; text-align: center; color: #666; } .muscle-recovery-grid { display: grid; gap: 12px; } .muscle-recovery-grid--grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); } .muscle-recovery-grid--list { grid-template-columns: 1fr; } .muscle-recovery-item { padding: 12px; background: rgba(42, 42, 62, 0.6); border: 1px solid rgba(204, 255, 0, 0.15); border-radius: 10px; cursor: pointer; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .muscle-recovery-item:hover { background: rgba(42, 42, 62, 1); border-color: rgba(204, 255, 0, 0.3); transform: translateY(-2px); } .muscle-recovery-item-header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; } .muscle-recovery-name { font-size: 14px; font-weight: 600; color: #fff; } .muscle-recovery-time { font-size: 11px; color: #888; white-space: nowrap; } /* Responsive */ @media (max-width: 768px) { .muscle-recovery-grid--grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); } } @media (max-width: 480px) { .muscle-recovery-list { padding: 12px; gap: 16px; } .muscle-recovery-header { flex-direction: column; align-items: flex-start; } .muscle-recovery-grid--grid { grid-template-columns: repeat(2, 1fr); } .muscle-recovery-item { padding: 10px; } }